我正在开发一个c#应用程序,以返回特定关键字的确切前10名谷歌搜索结果。所以我决定试试谷歌搜索api。特别是,我使用的是一个名为"GoogleSearchAPI“的dotnet应用程序,但它返回的结果与在Google中输入的结果不完全相同&我很好奇是否有办法这样做。无论是使用还是通过其他方法,我都不关心哪一种方式。
例如,这里有两个截图使用相同的搜索短语。第一位来自谷歌:

这是Google为同一个搜索短语返回的内容(在我的预览版中,这张图片在编写这篇文章时看上去被压缩了,所以以防万一,这里是图像url:图像链接):

如您所见,api返回的结果非常不同。第一次谷歌搜索返回是谷歌加。api返回实际网站。然后,api返回3个facebook结果,而google则返回yelp。非常不同。
下面是我在GoogleSearchAPI中使用的示例代码:
WebQuery query = new WebQuery(tbQuery.Text);
query.ResultSetSize.Value = ResultSetSize.large;
IGoogleResultSet<GoogleWebResult> resultSet = GoogleService.Instance.Search<GoogleWebResult>(query);
dgvResults.DataSource = resultSet.Results;有人知道我怎样才能准确地检索Google返回的搜索结果吗?我总是可以求助于抓取,但这违背了谷歌的条件,所以我需要创造一个解决办法,它变得相当混乱,所以我宁愿尽量避免这种情况。
谢谢
发布于 2014-11-25 17:51:04
如果您要从API中获得结果,那么一切都好。你不能从谷歌搜索中得到同样的结果,所有的东西都是基于你的cookie,浏览器历史,书签,位置等。你可以尝试在两个不同的浏览器上搜索,你会得到不同的结果。
https://stackoverflow.com/questions/27133214
复制相似问题