python - Usando Tor proxy con scrapy
(1)
Estaba usando este fragmento: http://snipplr.com/view/66992/use-a-random-user-agent-for-each-request/
Actualización: enlace roto fijo
Necesito ayuda para configurar Tor en Ubuntu y usarlo dentro del framework scrapy.
Investigué un poco y descubrí esta guía:
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)
luego úsala en settings.py:
DOWNLOADER_MIDDLEWARE = {
''spider.middlewares.RetryChangeProxyMiddleware'': 600,
}
y luego solo desea enviar solicitudes a través de proxy local (polipo) que se puede hacer con:
tsocks scrapy crawl spirder
¿alguien puede confirmar que este método funciona y usted obtiene diferentes direcciones IP?