我需要帮助在Ubuntu中设置Tor并在scrapy框架内使用它。使用Tor代理与scrapy
我做了一些研究,发现该指南:
class RetryChangeProxyMiddleware(RetryMiddleware):
def _retry(self, request, reason, spider):
log.msg('Changing proxy')
tn = telnetlib.Telnet('127.0.0.1', 9051)
tn.read_until("Escape character is '^]'.", 2)
tn.write('AUTHENTICATE "267765"\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()
time.sleep(3)
log.msg('Proxy changed')
return RetryMiddleware._retry(self, request, reason, spider)
然后settings.py中使用它:
DOWNLOADER_MIDDLEWARE = {
'spider.middlewares.RetryChangeProxyMiddleware': 600,
}
,然后你只是想通过发送本地TOR代理请求(Polipo即可)可以这样做:
tsocks scrapy crawl spirder
没有人可以确认,这种方法的工作原理,你得到di不同的IP?
刚刚尝试对自己的资源,并检查服务器日志。并设置用于隐藏所有者的浏览器标识符列表:)或为您的搜寻器添加unic id。 – nk9 2012-07-22 19:56:41
如何设置浏览器标识列表? – DjangoPy 2012-07-22 20:07:48
哦......我没有使用scrapy,所以现在我只是寻求帮助:)。但对于你自己的网站测试更好地使用unic id来轻松解析日志 – nk9 2012-07-22 20:14:32