質問

.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)

これは私自身のアプリケーションでテストされており、かなり良い結果が得られます!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top