【问题标题】:Selenium WebdDriverException on using Tor使用 Tor 时发生 Selenium WebdDriverException
【发布时间】:2021-10-15 17:55:59
【问题描述】:

我正在尝试使用 tor 构建一个抓取脚本。我已经在我的 WSL Ubuntu 上安装了 tor 和 firefox,并且我还确保取消注释 torrc 文件中的行。但是当我尝试运行我的代码时:

from stem import Signal
from stem.control import Controller
from selenium import webdriver
from selenium.webdriver.firefox.options import Options
from bs4 import BeautifulSoup

# signal TOR for a new connection
def switchIP():
    with Controller.from_port(port = 9051) as controller:
        controller.authenticate()
        controller.signal(Signal.NEWNYM)

# get a new selenium webdriver with tor as the proxy
def my_proxy(PROXY_HOST,PROXY_PORT):
    fp = webdriver.FirefoxProfile()
    # Direct = 0, Manual = 1, PAC = 2, AUTODETECT = 4, SYSTEM = 5
    fp.set_preference("network.proxy.type", 1)
    fp.set_preference("network.proxy.socks",PROXY_HOST)
    fp.set_preference("network.proxy.socks_port",int(PROXY_PORT))
    fp.update_preferences()
    options = Options()
    options.headless = True
    return webdriver.Firefox(options=options, firefox_profile=fp)

for x in range(10):
    proxy = my_proxy("127.0.0.1", 9050)
    proxy.get("https://whatsmyip.com/")
    html = proxy.page_source
    soup = BeautifulSoup(html, 'lxml')
    print(soup.find("span", {"id": "ipv4"}))
    print(soup.find("span", {"id": "ipv6"}))
    switchIP()

我得到错误:

WebDriverException: Message: Reached error page: about:neterror?e=proxyConnectFailure&u=https%3A//whatsmyip.com/&c=UTF-8&d=Firefox%20is%20configured%20to%20use%20a%20proxy%20server%20that%20is%20refusing%20connections.

我做错了什么?我尝试连接到https://amazon.com,但随后进入了无限循环。

编辑:如果我不从 cmd 启动 Tor,连接也会被拒绝?这正常吗?我可以从 python 脚本本身启动 tor 吗?

【问题讨论】:

    标签: python-3.x selenium tor selenium-firefoxdriver


    【解决方案1】:

    在我重新启动 WSL 后它起作用了。只是确保 torrc 文件没问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-01
      • 1970-01-01
      相关资源
      最近更新 更多