HTTP URLクエリ内からGoogleインスタント検索を無効にする方法は?
-
28-09-2019 - |
質問
私のプログラムの中には、Googleに直接クエリを送信してから、HTMLの結果を解析するものもあります - たとえば http://www.google.com/search?q=foobar&hl=en&num=20.
残念ながら、ごく最近、そのようなクエリをGoogleに送信すると、「num」パラメーターは即時検索のために無視されているようです。何があっても、ページには10の結果のみが表示されます。インスタント検索を無効にすると、再度機能します。問題は、設定がCookieか何かに保存されており、可能な限り非常に非現実的であることがプログラム側から事前に設定することです。
クエリに追加のパラメーターを追加してインスタント検索をバイパスし、再び「num」を動作させる方法はありますか?私はGoogle HTMLの結果を解析するだけではないと確信しています...
解決
「&as_qdr = all」を追加するだけです
http://www.google.com/search?q=foobar&hl=en&num=2&start=0&as_qdr=all
他のヒント
回避策の1つは、まだ動作し、複数のクエリを送信する「開始」パラメーターを使用することですが、それほどきれいではありません。
http://www.google.com/search?q=foobar&hl=en&num=20&start=0
http://www.google.com/search?q=foobar&hl=en&num=20&start=10
...
より多くの調査によると、この「バグ」は、ユーザーエージェントを提供しないHTTPクライアントを使用する場合ではなく、Webブラウザーでのみ発生しているようです。
結局のところ、物事はまだ良いです!
&complete=0
また動作します。
例えば:http://www.google.com/search?q=foobar&hl=en&num=20&complete=0
参照する このWebApps-Link.