2017-10-19 190 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