2016-03-28 25 views
6

私は研究調査の一環として、多数の学術論文の情報を入手しようとしています。記事の数は何千ものオーダーです。 Google ScholarにはAPIがないので、私は学者をスクラップ/クロールしようとしています。今私は今、これは技術的にEULAに反対していますが、私はこれについて非常に丁寧で合理的であるように努めています。私は、Googleがトラフィックを合理的な制限内に抑えるためにボットを許可していないことを理解しています。私は、各リクエストの間に1秒間〜500回のリクエストのテストバッチを開始しました。最初の100回のリクエストの後にブロックされました。ほとんどのポーズがすべての今秒のオーダーであるが、そのよう(対数正規分布ポーズを作るGoogle Scholarをクロールする

    1. 〜20代にポーズを拡張し、それらにいくつかのランダムノイズを加える:私はを含む複数の他の戦略を試してみました
    2. 要求のブロック(〜100)の間に長いポーズ(数時間)を実行しています。

    この時点で私のスクリプトは、人間が行うことに比べてかなりのトラフィックを追加しているとは思えません。しかし、私はいつも100〜200回のリクエストの後にブロックされます。誰もがこれを克服するための良い戦略を知っていますか?(自動化されていれば数週間かかるかどうか気にしません)また、誰かが直接Googleとの取引経験があり、同様のこと(研究など)を行う許可を求めていますか?それを書いて、私がやろうとしていることや、どうやって説明し、プロジェクトの許可を得ることができるかどうかを見てみる価値はありますか?そして私はそれらに連絡するためにどのように行くでしょうか?ありがとう!

    +0

    マイクロソフトの学術検索はGoogleとどのように肩を並べていますか? –

    +0

    [これは議論に追加されます](https://www.quora.com/Why-doesnt-Google-have-an-official-API-for-Google-Scholar) –

    +1

    あなたの 'あなたのリクエストヘッダー内の「エージェント」を正しく設定できません。正しく設定されていないリクエストは、ボットとして簡単に検出されます。 :) –

    答えて

    1

    テストがなければ、私はまだ、次のいずれかのトリックないかなり確信している:

    1. 簡単ですが、成功の小さなチャンス:

      が後に問題のサイトからのすべてのCookieを削除します。すべてのランド(0,100)リクエスト、
      あなたのユーザーエージェント、受け入れられた言語などを変更して繰り返します。

    2. 少しより多くの仕事が、結果として非常に丈夫なクモ:

      はまた、すべての提案1を行い、あなたのIP(をマスクするなどのTor、他のプロキシ、モバイルネットワークを介して、あなたのリクエストを送りますセレン に関する)

    アップデートを回す私は、あなたがセレンを使用しているという事実を逃した当然のかかったそれは、現代のプログラミング言語の一部のようなものでした(私はセレニウムが最も広く使われている言語で動くことができることを知っていますが、でもというブラウザプラグインのようなプログラミングスキルは必要ありません)。

    私はあなたのコーディングスキルが馬鹿だと思っていません。また、Seleniumを使用する際に同じ制限がある人は、私の答えは単純なスクリプト言語 PowerShell ?!)やJavaScript(あなたが使っているウェブなので;-))そこから取り出してください。

    スプレッディングがスムーズに行われるようにするには、ブラウザのプラグインと同じくらいシンプルであれば、Webははるかに乱雑で、難読化されています。

    関連する問題