[英]Scrapy, privoxy and Tor: SocketError: [Errno 61] Connection refused
[英]"SocketError: [Errno 61] Connection refused" Selenium with TOR
因此,我使用 TOR 作为更改 webdriver 的代理和 IP 地址的一种方式。 这是代码。 安装了所有依赖项(包括 Geckodriver 和最新版本的 Firefox)。
from stem import Signal
from stem.control import Controller
from selenium import webdriver
from selenium.webdriver.firefox.options import Options
from bs4 import BeautifulSoup
def switchIP():
with Controller.from_port(port = 9051) as controller:
controller.authenticate()
controller.signal(Signal.NEWNYM)
def my_proxy(PROXY_HOST,PROXY_PORT):
fp = webdriver.FirefoxProfile()
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()
感谢您的帮助,阿拉夫。
这个错误信息...
SocketError: [Errno 61] Connection refused
...暗示连接被服务器拒绝。
由于以下几个原因,可能会出现此错误:
但是,我没有看到您的代码块有任何问题,但是在使用tor来更改代理和 IP 地址时,您需要使用popen()
命令启动torexe应用程序,如下所示( Windows操作系统的示例):
import os
torexe = os.popen(r'C:\Users\user_name\path\to\Tor Browser\Browser\TorBrowser\Tor\tor.exe')
您可以在以下位置找到相关讨论:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.