2017-10-19 132 views
0

我是Scrapy/ProxyMesh的新手。 我对Proxymesh服务器的请求似乎正在工作,因为我在ProxyMesh网站上看到了我的带宽消耗,并且meta.proxy在我的日志中正确。 但是,当我在Scrapy中记录响应头时,我没有收到我应该收到的X-Proxymesh-IP。 这是我的代码。我究竟做错了什么?没有收到标题Scrapy ProxyMesh

这是我中间件

class Proxymesh(object): 

def __init__(self): 

    logging.debug('Initialized Proxymesh middleware') 

    self.proxy_ip = 'http://host:port' 

def process_request(self, request, spider): 

    logging.debug('Processing request through proxy IP: ' + self.proxy_ip) 

    request.meta['proxy'] = self.proxy_ip 

这些都是在我的蜘蛛我的设置

custom_settings = { 
    "DOWNLOADER_MIDDLEWARES": { 
     "projectName.middlewares.proxymesh.Proxymesh" : 1, 
    } 

这是响应头是什么样子

['Set-Cookie']:['__cfduid=d88d4e4cb7... HttpOnly'] 
['Vary']:['User-Agent,Accept-Encoding'] 
['Server']:['cloudflare-nginx'] 
['Date']:['Thu, 19 Oct 2017 10...38:10 GMT'] 
['Cf-Ray']:['3b031b30cbef1565-CDG'] 
['Content-Type']:['text/html; charset=UTF-8'] 

谢谢你的帮助

回答

0

也许你也需要这样做?

DOWNLOADER_MIDDLEWARES = { 
    'scrapy.contrib.downloadermiddleware.httpproxy.HttpProxyMiddleware': 1, 
} 

而且也是你的回调函数,你确定要打印response.headers

+0

嘿@Umair加入HTTPPROXY中间件不会改变任何东西。此外,响应标题将打印在我的蜘蛛的回调中。会有另一种方式来访问这些X-Proxymesh-IP头文件吗? – xavierds

+0

我已经在几个月前使用了proxymesh ......它应该可以正常工作......请分享您的完整代码吗? – Umair

+0

也请确保您的代理工作与否。刮掉任何网站IP以检查返回哪个IP – Umair