Использование прокси-сервера Tor со скрейпом

Мне нужна помощь в настройке 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-адреса?

6
задан DjangoPy 23 July 2012 в 06:27
поделиться