matlabスクリプトを介してGoogleScholarからいくつかのデータを自動的に取得したいと思います。私は主に、GoogleScholarのBibtexエントリや前方引用機能などのデータに興味があります。ただし、Google Scholar用のAPIはないようですが、Matlabを使用してGoogle Scholarから書誌データを自動的に取得する方法はありますか?このためにすでに利用可能なツールやコードはありますか?
2 に答える
このプロジェクトをさらに進めているときに見つけた注意点。
GoogleScholarにAPIがないのには理由があります。ボットを使用してGoogleScholarから収集することは、EULAに違反します。基本的な考え方は、Google Scholarとのインターフェースを試みるプログラムは、エンドユーザーとは質的に異なる方法でインターフェースをとることはできないということです。つまり、大量のデータを自動的に取得できます。@JustinPeelの回答のスクリプトは必ずしも条件に違反しているわけではありませんが、大規模なループに入れると違反します。
このEULAからのいくつかの特定のポイント:
あなたは、第三者に以下を許可してはならず、また許可してはなりません。
(i)自動化された、欺瞞的、詐欺的、またはその他の無効な手段(クリックスパム、ロボット、マクロプログラム、インターネットエージェントを含むがこれらに限定されない)を通じて、直接的または間接的にクエリ、または結果のインプレッションまたはクリックを生成する。
..。
(l)「クロール」、「スパイダー」、インデックス、または非一時的な方法で、サービスから取得した情報(結果、またはその一部、コピー、派生物を含むがこれらに限定されない)を保存またはキャッシュする。
Google Scholar robots.txtを見ると、いかなる種類のボットも許可されていないことがわかります。
このポリシーを回避しようとすると問題が発生し、ラボでGoogleScholarにアクセスできなくなる可能性があると同僚から聞いたことがあります。
これにMatlabを本当に使用したい場合(私は実際にはお勧めしません)、さまざまなWebスクレイピングの例を見ることができます。このコードには、実際にGoogleScholarからいくつかの情報が含まれています。基本的に、ちょうど良い「MATLABWebスクレイピング」とあなたが行くオフ。
Pythonは一般的なプログラミングIMHOに適しているため、個人的にはPythonを使用することをお勧めします。たとえば、この男はすでにPythonでやりたいことと同じようなことをしています。ただし、Matlabを知っていて、Pythonに興味や時間がない場合は、最初の段落のリンクをたどってください。