2017-08-15 26 views
0
カール

での作品は、私が有効になってHttpProxyMiddlewareとLinux上scrapy 1.4.0プロジェクトを持っている、つまりは私のsettings.pyは、この含まれています:scrapy HTTPSプロキシ403エラー

DOWNLOADER_MIDDLEWARES = { 
    'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware': 10, 
} 

私はクモ(命名sslproxies)を実行します

export https_proxy=https://123.123.123.123:3128 
scrapy crawl sslproxies -o output/data.csv 

関連のエラー:

2017-08-15 18:57:20 [scrapy.core.engine] DEBUG: Crawled (403) <GET https://www.sslproxies.org/> (referer: None) 
2017-08-15 18:57:20 [scrapy.spidermiddlewares.httperror] INFO: Ignoring response <403 https://www.sslproxies.org/>: HTTP status code is not handled or not allowed 
2017-08-15 18:57:20 [scrapy.core.engine] INFO: Closing spider (finished) 

403私は、次のコマンドを使用して、私はエラーを取得しますリクエストが禁止されています。私はカールを使用して、プロキシサーバーをテストする場合は:

curl -vx https://123.123.123.123:3128 https://httpbin.org/headers 

私は、有効な応答を取得し、それは、プロキシサーバーを使用しています。

* Establish HTTP proxy tunnel to httpbin.org:443 
> CONNECT httpbin.org:443 HTTP/1.1 
> Host: httpbin.org:443 
> User-Agent: curl/7.47.0 
> Proxy-Connection: Keep-Alive 
> 
< HTTP/1.1 200 Connection established 

私はクモの作品HTTPS_PROXY環境変数の設定を解除して、プロキシをバイパスした場合。 私はscrapy http proxyミドルウェアの設定で何かを見逃していますか?

答えて

0
2017-08-15 18:57:20 [scrapy.core.engine] DEBUG: Crawled (403) <GET https://www.sslproxies.org/> (referer: None) 

アメリカあなたのスパイダーは、これを行ってくださいhttps://www.sslproxies.org/

に要求を行っている、プロキシはそれぞれが使用するあなたのスパイダーが作る要求されている意味します。この

class CustomProxyMiddleware(object): 

    def process_request(self, request, spider): 

     request.meta['proxy'] = "https://123.123.123.123:3128" 

このように、別のミドルウェアを作成します。

+0

これはHttpProxyMiddlewareがやっているものではありませんか? –

+0

私は決して環境変数を設定しようとしたことがないので、それがうまくいくかどうかわからないので、私はあなたの提案を使用することをお勧めします。そしてそれで、私はあなたをもっと助けることができるでしょう – Umair