2017-04-26 30 views
1

私は、scrapy-splashの横にプロキシ(proxymesh)を使用しようとしています。私は(関連)コードscrapy-splashでプロキシを使用する

PROXY = """splash:on_request(function(request) 
    request:set_proxy{ 
     host = http://us-ny.proxymesh.com, 
     port = 31280, 
     username = username, 
     password = secretpass, 
    } 
    return splash:html() 
end)""" 

とstart_requests

def start_requests(self): 
    for url in self.start_urls: 
     print url 
     yield SplashRequest(url, self.parse, 
      endpoint='execute', 
      args={'wait': 5, 
        'lua_source': PROXY, 
        'js_source': 'document.body'}, 

中に、以下の持っているが、動作するようには思えません。 self.parseはまったく呼び出されません。私がendpointを 'render.html'に変更すると、私はself.parseメソッドをヒットしますが、ヘッダー(response.headers)を調べると、それはトラフプロキシにはならないことがわかります。私は、私がhttp://checkip.dyndns.org/を開始URLとして設定し、応答を解析すると、私の古いIPアドレスを見たことを確認しました。

私は間違っていますか?

答えて

6

SplashRequestオブジェクトに 'proxy'引数を追加する必要があります。

def start_requests(self): 
    for url in self.start_urls: 
     print url 
     yield SplashRequest(url, self.parse, 
      endpoint='execute', 
      args={'wait': 5, 
        'lua_source': PROXY, 
        'js_source': 'document.body', 
        'proxy': 'http://proxy_ip:proxy_port'} 
+0

感謝の男のように働いた – morea030

関連する問題