Я написал два скрипта на python: один использует selenium
, а другой - requests
для подключения к http://check.torproject.org, используя Tor и получите этот текст Поздравляю.Этот браузер настроен на использование Tor , чтобы быть уверенным, что я все делаю правильно.
Когда я использую приведенный ниже скрипт, я получаю текст плавно:
from selenium import webdriver
import os
torexe = os.popen(r"C:\Users\WCS\Desktop\Tor Browser\Browser\TorBrowser\Tor\tor.exe")
options = webdriver.ChromeOptions()
options.add_argument('--proxy-server=socks5://localhost:9050')
driver = webdriver.Chrome(chrome_options=options)
driver.get("http://check.torproject.org")
item = driver.find_element_by_css_selector("h1.not").text
print(item)
driver.quit()
Однако, когда я пытаюсь сделать то же самое, используя requests
, я получаю ошибку AttributeError: 'NoneType' object has no attribute 'text'
:
import requests
from bs4 import BeautifulSoup
import os
torexe = os.popen(r"C:\Users\WCS\Desktop\Tor Browser\Browser\TorBrowser\Tor\tor.exe")
with requests.Session() as s:
s.proxies['http'] = 'socks5://localhost:9050'
res = s.get("http://check.torproject.org")
soup = BeautifulSoup(res.text,"lxml")
item = soup.select_one("h1.not").text
print(item)
Как я могу получитьтот же текст, используя requests
с этого сайта?
Когда я использую этот print(soup.title.text)
, я могу получить этот текст Sorry. You are not using Tor.
, который ясно указывает на то, что requests
не сделан черезTor
.