2012-07-12 26 views
9

私はジャーナル記事の引用方法を分析するプロジェクトに取り組んでいます。私は雑誌の記事のファイルの大きなファイルを持っています。私はそれらをGoogle Scholarに渡し、それぞれの引用数を確認します。 http://www.icir.org/christian/scholar.htmlからtorとpythonを使用してGoogle Scholarをスクラップする

  1. 使用 "scholar.py":ここでは

    は、私は、次の午前戦略です。これは、Google Scholarを検索し、CSV形式の最初のヒットに関する情報(引用数を含む)を返すあらかじめ書かれたPythonスクリプトです。

  2. Googleの学者が一定数の検索の後にあなたをブロックしますクエリ)。ほとんどの人がこの問題を解決するためにTor(How to make urllib2 requests through Tor in Python?Prevent Custom Web Crawler from being blocked)を使用していることが分かりました。 Torは、数分ごとにランダムなIPアドレスを与えるサービスです。

私はscholar.pyとtorの両方を正常にセットアップして動作させています。私はpythonやライブラリurllib2に慣れておらず、クエリがTorを経由してルーティングされるように、どのような変更がscholar.pyに必要であるか疑問に思います。

Googleグーグルの学者向けの検索クエリがあれば、より簡単なアプローチ(潜在的にはかなり異なる)を提案することもできます。私にとっては、事前

答えて

1

おかげでTORを使用するための最良の方法は、setting up a local proxy like polipoです。私はレポのクローンを作成し、ローカルでコンパイルしたい:

git clone https://github.com/jech/polipo.git 
cd polipo 
make all 
make install 

をしかし、あなたはあなたのパッケージマネージャ(マックでbrew install polipo、Ubuntuの上apt install polipo)を使用することができます。そして、簡単な設定ファイルの書き込み:

echo socksParentProxy=localhost:9050 > ~/.polipo 
echo diskCacheRoot='""' >> ~/.polipo 
echo disableLocalInterface=true >> ~/.polipo 

をし、それを実行します。

polipo 

urllib docs on how to use a proxyを参照してください。私はリクエストライブラリ、urllibはのためのよりよいのラッパーを使用したい

export http_proxy="http://localhost:8123" 
export https_proxy="http://localhost:8123" 

:多くのUNIXアプリケーションと同様に、urllibは、環境変数http_proxyを尊重します。あなたはすでにそれを持っていない場合:、

python -c "import requests; print('Congratulations' in requests.get('http://check.torproject.org/').text)" 

最後の事を注意してください:

pip install requests 

をurllibははTorのを使用している場合は、次のワンライナーをTrue印刷する必要がありますTorネットワークはフリーパスではありませんあなたが完全に匿名であると仮定すべきではないので、インターネット上で愚かなことをするために。

+0

最初のリンクはもう有効ではありません – chrisfs

+0

リンクの腐敗、それはリンクの唯一の答えが吸う理由です...私は答えに指示を含める必要があります、残念ながら今は、申し訳ありません。 –

+0

リンクは現在バックアップされています – user3791372

関連する問題