12

私は、ジャーナル記事がどのように引用されているかを分析するプロジェクトに取り組んでいます。ジャーナル記事名の大きなファイルがあります。それらを Google Scholar に渡して、それぞれの引用数を確認するつもりです。

これが私が従っている戦略です:

  1. http://www.icir.org/christian/scholar.htmlの「scholar.py」を使用します。これは、Google Scholar を検索し、最初にヒットした情報 (引用数を含む) を CSV 形式で返す、事前に作成された Python スクリプトです。

  2. Google Scholar は、一定数の検索後にあなたをブロックします (クエリする記事のタイトルは約 3000 あります)。この問題を解決するために、ほとんどの人が Tor ( Tor を介して urllib2 リクエストを Python で作成する方法は?およびカスタム Web クローラーがブロックされないようにする方法) を使用していることがわかりました。Tor は、数分ごとにランダムな IP アドレスを提供するサービスです。

私は Scholar.py と tor の両方を正常にセットアップして動作させています。私は python やライブラリ urllib2 にあまり詳しくありません。クエリが Tor を介してルーティングされるように、scholate.py にどのような変更が必要か疑問に思っています。

大量の Google 学者のクエリに対するより簡単な (そして潜在的にかなり異なる) アプローチが存在する場合は、その提案にも従います。

前もって感謝します

4

1 に答える 1

2

私にとってTORを使用する最良の方法は、polipoのようなローカルプロキシを設定することです。リポジトリのクローンを作成してローカルでコンパイルするのが好きです。

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

ただし、パッケージマネージャーを使用することはできます(brew install polipoMac、apt install polipoUbuntu)。次に、簡単な構成ファイルを作成します。

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

次にそれを実行します:

polipo

プロキシの使用方法については、urllibのドキュメントを参照してください。多くのUNIXアプリケーションと同様に、urllibは環境変数を尊重しますhttp_proxy

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

urllibのより良いラッパーであるrequestsライブラリを使用するのが好きです。まだお持ちでない場合:

pip install requests

urllibがTorを使用している場合、次のワンライナーはTrueを出力するはずです。

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

最後に、注意してください。Torネットワークは、インターネット上で愚かなことをするためのフリーパスではありません。Torネットワークを使用しても、完全に匿名であると想定してはならないからです。

于 2012-07-12T02:07:57.430 に答える