2016-05-05 7 views
0

私の研究のためにプロジェクト用にいくつかのWebスクレイピングを試みています。残念ながら、私はGoogle Scholarの一部のデータを削って私の要求をブロックする必要があります。私は(複数の)HTTPプロキシを使用しようとしましたが、私の要求は〜300回試してもブロックされてしまいます。プロキシを使用したPythonリクエストライブラリ - 要求は依然として自分のIPを送信します

ブロックされた要求からの結果のHTMLが含まれています。私のプロキシの辞書は、(それがランダムにリストからプロキシを選択)し、このような要求の外観を取得しながら、

IP address: 145.109...<br/>Time: 2016-05-05T09:23:37Z<br/>URL: 
https://scholar.google.nl/citations?hl=en&amp;view_op=search_authors 
&amp;mauthors=Perry<br/> 

上記IPは、私自身です:

proxies = {'http': 'http://<username>:<password>@107.182....:<port>'} 

result = requests.get('https://scholar.google.nl/citations?hl=en&   
         amp;view_op=search_authors&amp;mauthors=Perry', 
         proxies=proxies, headers=headers) 

もちろん、有効なIPアドレスと有効なIPアドレスはプロキシリストに含まれていません。私は何か間違っているのですか?

編集:完全性のために、私はthisのような認証設定を試してみましたが、結果は同じです。

+0

」とは何ですか? 'http'をキーとするエントリが多い場合、これは辞書であり、1つだけが保持されます。また、https urlを要求しているので、プロキシのdictにhttpsエントリがない場合、プロキシは使用されません。 – mata

+0

ひどく言われて、私は私の質問を編集します。プロキシは実際にはリストに含まれており、ランダムに選択してそれを辞書に追加します。しかし、それはhttpsであり、プロキシhttpが問題を解決します。私はそれを選択できるので、答えとして追加することができますか?私はそれを逃したかなり愚かな-_-、ありがとう! – Truub

答えて

2

あなたのproxiesであなたのリクエストに使用しているURLスキームが一致しない場合は、プロキシにhttpエントリを使用してからhttpsリクエストを行います。 httpsスキームのプロキシをアドバタイズすると、それはうまくいくはずです。

関連する問題