Мне нужна помощь в настройке Tor в Ubuntu и использовании его в среде 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
Кто-нибудь может подтвердить, что этот метод работает, и вы получаете разные IP-адреса?