2017-11-14 18 views
0

私は現在、java apache commonsを使用してWebスパイダーを構築しています。:今Http Get Request - どのデータが実際に送信されますか?

重要な部分を私がhttps://google.com/search?q=word&hl=en

などの基本的なGoogle検索のクエリは、どういうわけか私がブロックされます約60のクエリ後に、彼らがボットとして私を認めるようでクロールしていると私は503サービス使用不可の応答を取得します 私がfirefox/chromeで同じサイトにアクセスした場合、私は望みの結果を得ます。 同じHTTPヘッダー(ユーザーエージェント、Cookie、キャッシュなど)を使用してアプリケーションでGETリクエストを作成すると、まだブロックされています。

のみIPおよびHTTP-ヘッダー情報などがあった場合、Googleは、私は、アプリケーションやChromeブラウザを経由して接続してるかどうかをどのようにを知っていますか?(多分私が間違っている?) はそこまで多くのパラメータであり、私のアプリケーションを認識している? Googleが見ているものではありません。

(多分重要:私は、Chromeデベロッパーツールを使用していますし、httpbin.orgブラウザとアプリケーションのヘッダを比較すること。)

おかげで、あなたが送ってどのように迅速に指定していないので、多く

答えて

1

を60問では、私は高い率で推測しています。これがGoogleがあなたをブロックしている理由です。私はクロムからGoogle検索をすばやくやり遂げ、しばらくしてからcaptchaを求めてすぐにブロックします。

Replacement for Google API

よくある質問ブロックされた検索にカスタム検索のAPIやサービスの点については、この記事を参照してください:Google FAQ

+0

おかげで、おそらくまだ..私は最初にブロックされた理由を、thatsの、私の場合後で私のアプリケーションから単一の要求をする、私はまだブラウザが正常に動作している間、ブロックされて取得..どのように2つのGoogleを区別するのですか? – Schnurbert

+0

そして、私は1回のリクエストの間に何タイムパンを待つべきですか?私は5 +ランダム(5)秒早く試しましたが、とにかくブロックされました – Schnurbert

+0

答えへの参照リンクを追加しました – chongo2002

関連する問題