实际上,我用Selenium管理了Tor Browser的控制,但我意识到Tor电路(IP的更改(是不启用的。那么,有没有一种方法可以实现它呢?或者使用名为(新身份(表单代码的新功能。
我的环境是Python 3.7,tbselenium 0.4.2和Tor Browser 9.0.2,谢谢大家。
下面是一个关于如何将Tor与chrome网络驱动程序一起使用的示例脚本:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.proxy import Proxy, ProxyType
#tor
from stem import Signal
from stem.control import Controller
link = #some_url
prox='socks5://127.0.0.1:9150' #This connects Selenium to the Tor Port which then connects to a Tor network
while True:
with Controller.from_port(port = 9051) as controller: #this is how you get a new Identity!
controller.authenticate()
controller.signal(Signal.NEWNYM)
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--proxy-server=%s' % prox) #sets conncection to your 9150 port aka Tor Network
#chrome_options.add_argument('--headless') #opens headless browser
driver = webdriver.Chrome('*path to your driver file*', chrome_options=chrome_options)
driver.get(link)
#perform selenium stuff
您将需要安装stem
库,该库基本上是用于Python的Tor API。您还必须编辑torrc
文件。在这里你可以阅读如何做到这一切。