我正在使用.net的Google API http://code.google.com/p/google-api-for-dotnet/无论我要求多少谷歌的结果,谷歌的返回都超过64。

这是我的代码段:

GwebSearchClient client = new GwebSearchClient("xyz");
IList<IWebResult> results = client.Search(this.SearchText.Text, 100);

我希望获得100个结果,但无论使用的搜索词如何,都不会获得超过64个结果。

有任何想法吗?

有帮助吗?

解决方案

根据Google Ajax搜索API(使用与.NET API相同的HTTP请求使用相同的HTTP请求),最大返回的结果为64。

注意:结果页面的最大数量基于搜索器的类型。本地搜索支持4页(或最多32个总结果)和其他搜索者(博客,书籍,图像,新闻,专利,视频和网络)支持8页(最大总计64个结果)。

这里, ,滚动两行。或搜索页面以获取“最大数字”。

其他提示

总有解析HTML的选择:
我需要大约20亿(或至少2400万)的结果,并且由于API没有削减,因此我决定下载HTML结果并使用正则表达式手动分析它们。使用Hashtables,我能够消除任何重复项。

我的正则表达:
(仅解析具有给定域的URL,并包含具有3-20个字母数字字符的子域)

@"((?!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