web-dev-qa-db-ja.com

Googleの結果からデータを取得しても大丈夫ですか?

Curlを使用してGoogleから結果を取得し、潜在的な重複コンテンツを検出したいと思います。 Googleによって禁止されるリスクは高いですか?

59
ML_

一定のリクエスト数を超えると、Googleは最終的にIPをブロックします。

50
Severin

Googleは、TOSでの自動アクセスを禁止しているため、利用規約に同意した場合、違反することになります。

そうは言っても、スクレイパーに対するGoogleからの訴訟はありません。 MicrosoftでさえGoogleをスクレイピングしたが、彼らは検索エンジンBingにそれを搭載した。 彼らは2011年の赤利きで捕まった :)

Googleの結果を取得するための2つのオプションがあります:

1)APIを使用する

  • 1時間あたり約40のリクエストを発行できます。彼らが提供するものに限定されます。ランキングの位置や実際のユーザーに表示されるものを追跡する場合、それはあまり役に立ちません。それはあなたが収集することを許可されていないものです。

  • より多くのAPIリクエストが必要な場合は、支払う必要があります。

  • 1時間あたり60件のリクエストには年間2000米ドルの費用がかかり、それ以上のクエリにはカスタム取引が必要です。

2)通常の結果ページをスクレイプする

  • ここからが難しい部分です。通常の結果ページをスクレイプすることは可能です。 Googleでは許可していません。
  • 8(15から更新)1時間あたりのキーワードリクエスト、10/hよりも高いレートでスクレイピングした場合(20から更新)は、私の経験からブロックされます。
  • 複数のIPを使用すると、レートを上げることができるため、100個のIPアドレスを使用すると、1時間あたり最大1000件のリクエストをスクレイピングできます。 (1日24k)(更新済み)
  • http://scraping.compunect.com のPHPで書かれたオープンソースの検索エンジンスクレイパーがあります。これにより、Googleの信頼性の高いスクレイピングが可能になり、結果を適切に解析してIPアドレスを管理し、遅延など。したがって、PHPを使用できる場合は、ナイスキックスタートです。それ以外の場合は、コードがどのように実行されるかを学習するのに役立ちます。

3)あるいは、スクレイピングサービスを使用する(更新済み)

  • 最近、私の顧客には巨大な検索エンジンスクレイピング要件がありましたが、それは「継続的」ではなく、1か月に1回の大きな更新のようです。
    この場合、「経済的」な自作のソリューションは見つかりませんでした。
    代わりに http://scraping.services のサービスを使用しました。また、オープンソースコードを提供し、これまでのところ順調に動作しています(更新中、1時間あたり数千の結果ページ)
  • 欠点は、そのようなサービスはあなたのソリューションが1つの専門業者に「結び付けられる」ことを意味することであり、欠点は私が評価した他のオプションよりもはるかに安価だったということです
  • 1つの会社への依存を減らす1つのオプションは、2つのアプローチを同時に行うことです。データの主なソースとしてスクレイピングサービスを使用し、必要に応じて2)で説明したようなプロキシベースのソリューションにフォールバックします。
107
John

Googleは世界のウェブサイトをスクレイピングすることで繁栄しています...それが「非常に違法」だった場合、Googleでさえ生き残ることはできません..もちろん、他の答えはGoogleによるIPブロックを緩和する方法に言及しています。キャプチャを回避するためのもう1つの方法は、ランダムにスクレイピングすることです(ちょっと試してみてください)..さらに、データの新規性または重要な処理を提供する場合、少なくとも私には問題ないように感じます...単純にウェブサイトをコピーしている、または何らかの方法でそのビジネス/ブランドを妨害している...それは悪いことであり、避けるべきです...何よりも...あなたがスタートアップの場合、誰もあなたと戦うことはありませんメリットはありません。しかし、資金を調達しても前提が完全にスクレイピングの場合は、より洗練された方法を検討する必要があります...代替API。すぐにスクラップしたい場合は、新しいGoogle APIリリースのロードマップに含めることができます。

4
raghav