python proxy scrapy

python: scrapy usando proxy IP



(1)

Quiero usar IP proxy para raspar web usando scrapy. Para utilizar un proxy, establezco la variable de entorno http_proxy como se menciona en la documentación.

$ export http_proxy=http://proxy:port

Para probar si el cambio de IP funcionó, creé una nueva araña con la prueba de nombre:

from scrapy.spider import BaseSpider from scrapy.contrib.spiders import CrawlSpider, Rule class TestSpider(CrawlSpider): name = "test" domain_name = "whatismyip.com" start_urls = ["http://whatismyip.com"] def parse(self, response): print response.body open(''check_ip.html'', ''wb'').write(response.body)

pero si ejecuto esta araña, check_ip.html no muestra la IP como se especifica en la variable de entorno sino que muestra la IP original tal como era antes de rastrear.

Cuál es el problema ? ¿Hay alguna manera alternativa de que pueda verificar si estoy usando una IP proxy o no? o hay alguna otra forma de usar una IP proxy?


Edite settings.py en su proyecto actual y asegúrese de tener habilitado HttpProxyMiddlewareware:

DOWNLOADER_MIDDLEWARES = { #you need this line in order to scrap through a proxy/proxy list ''scrapy.contrib.downloadermiddleware.httpproxy.HttpProxyMiddleware'': 110, }