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,
}