Как использовать или включить Tor Circuit, когда он находится в режиме дистанционного управления (Selenium)? - PullRequest
0 голосов
/ 25 апреля 2020

На самом деле мне удалось управлять Tor Browser с помощью Selenium, но я понял, что каналы Tor (смена IP) не включены. Так существует ли способ включить его? Или используйте новую функцию под названием (New Identity) код формы.

Моя среда Python 3.7, tbselenium 0.4.2 и Tor Browser 9.0.2, спасибо всем.

1 Ответ

0 голосов
/ 25 апреля 2020

Вот пример сценария, как использовать 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, которая в основном является Tor API для Python. Вам также придется отредактировать файл torrc. Здесь вы можете прочитать, как все это сделать.

...