Googleは64を超える結果を返していません
-
29-09-2019 - |
質問
.NETにGoogle APIを使用しています http://code.google.com/p/google-api-for-dotnet/そして、Googleがどのくらいの結果を求めても、64を超えることはありません。
これが私のコードスニペットです:
GwebSearchClient client = new GwebSearchClient("xyz");
IList<IWebResult> results = client.Search(this.SearchText.Text, 100);
私は100の結果を得ることを期待していましたが、使用された検索用語に関係なく64を超えることはありません。
何か案は?
解決
Google Ajax Search API(.NET APIと同じHTTP要求をGoogleサーバーに使用する)によると、最大返信結果は64です。
注:結果ページの最大数は、検索者のタイプに基づいています。ローカル検索は4ページ(または最大32の合計結果)をサポートし、他の検索者(ブログ、ブック、画像、ニュース、特許、ビデオ、およびWeb)が8ページ(最大合計64の結果)をサポートしています。
から ここ, 、2本の列をスクロールします。または、「最大番号」をページに検索します。
他のヒント
HTMLを解析するオプションは常にあります。
約200,000,000(または少なくとも24m)の結果が必要でした。APIはそれを削減していなかったため、HTMLの結果をダウンロードして、正規表現を使用して手動で解析することにしました。ハッシュテーブルを使用すると、重複を排除することができました。
私の正規表現:
(与えられたドメインを持つURLのみを解析し、3〜20の英数字charを持つサブドメインを含む)
@"((?!www)([A-Za-z0-9-]{3,20})(\.example\.com))"
HTML URL使用:
[C# Source]
String.Format( "http://www.google.com/search?q=site:{0}&num={1}"+
"&hl=en&tbo=d&as_qdr=all&start={2}&sa=N&biw=1280&bih=709",
"example.com", count, start)
これは私自身のアプリケーションでテストされており、かなり良い結果が得られます!
所属していません StackOverflow