我正在使用c#应用程序返回特定关键字的前10个Google搜索结果。所以我决定试试Google搜索API。特别是,我使用的是一个名为“GoogleSearchAPI”的dotnet应用程序,但它没有返回与输入Google和Google的完全相同的结果。我很好奇是否有办法这样做。无论是使用谷歌搜索API还是通过其他方法,我真的不在乎哪种方式。
例如,以下是使用相同搜索词组的2个屏幕截图。第一个来自谷歌:
这一个是从Google Search API返回的相同搜索短语的内容(这张图片在我的预览中看起来很模糊,所以为了以防万一,这里是图片网址:image link):
正如您所看到的,api返回的结果非常不同。第一个谷歌搜索返回是谷歌加。 api返回实际的网站。然后,api返回3个Facebook结果,谷歌返回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返回的确切搜索结果?我总是可以采取刮擦,但这违反了谷歌的条款,所以我需要创建变通方法,它变得相当混乱,所以如果可以,我宁愿避免这样做。
由于
答案 0 :(得分:1)
如果从API获得结果,一切都好。你无法通过谷歌搜索得到相同的结果,一切都是基于你的cookie,浏览器历史记录,书签,位置等。你可以尝试从两个不同的浏览器搜索,你会得到不同的结果。