Scrapy Tor端口9051不侦听
我完全是新手。。。两周前我还不知道废话是什么意思。经过一些研究,我使用beautifulsoup和selenium实现了一个python3代码。效果很好。现在,考虑到我需要刮取的数据量,我知道刮取1是正确的工具,特别是如果我轮换IP地址的话。我找到了一些理论上应该可以工作的代码。但是,当调用RetryChangeProxyMiddleware时,我会收到以下消息: [WinError 10061]无法建立连接,因为目标计算机主动拒绝连接 因此,我使用了:Scrapy Tor端口9051不侦听,scrapy,port,tor,Scrapy,Port,Tor,我完全是新手。。。两周前我还不知道废话是什么意思。经过一些研究,我使用beautifulsoup和selenium实现了一个python3代码。效果很好。现在,考虑到我需要刮取的数据量,我知道刮取1是正确的工具,特别是如果我轮换IP地址的话。我找到了一些理论上应该可以工作的代码。但是,当调用RetryChangeProxyMiddleware时,我会收到以下消息: [WinError 10061]无法建立连接,因为目标计算机主动拒绝连接 因此,我使用了: from stem.control im
from stem.control import Controller
控制器。从_端口(端口=9051)作为控制器:
controller.authenticate('canal007') # provide the password here if you set one
bytes_read = controller.get_info("traffic/read")
bytes_written = controller.get_info("traffic/written")
print("My Tor relay has read %s bytes and written %s." % (bytes_read, bytes_written))
返回相同的消息。所以我想我有一个“端口监听问题”。我应该对我的windows计算机拥有管理员权限。我相信我没有使用任何代理(我在这里很谨慎,因为我不是专家,…)。我试图打开和关闭Windows防火墙,但它没有改变任何事情
Tor已安装,当我运行它时,它可以工作。保存一些网站,但我尝试用scrapy刮的网站可以通过Tor访问
这是我的torrc.orig.1文件:
控制端口9051
验证“mypasswd”
我使用tor.exe生成了一个hashkey,并在以下中间件中使用它,我使用scrapy调用该中间件:
def process_request(self, request, spider):
if random.choice(range(1,100)) <= 80:
logging.log(logging.INFO, 'Changing proxy')
tn = telnetlib.Telnet('127.0.0.1', 9051)
tn.read_until("Escape character is '^]'.", 2)
tn.write('AUTHENTICATE "<hashkey>"\r\n')
tn.read_until("250 OK", 2)
tn.write("signal NEWNYM\r\n")
tn.read_until("250 OK", 2)
tn.write("quit\r\n")
tn.close()
logging.log(logging.INFO, '>>>> Proxy changed. Sleep Time')
time.sleep(10)
def进程请求(self、request、spider):
if random.choice(范围(1100))如果您在Windows上运行netstat-anp
,它是否会在9051上显示Tor侦听?您是否发现问题所在?如果您在Windows上运行netstat-anp
,它是否会在9051上显示Tor侦听?您是否发现问题所在?