我正在开发一个 C# 应用程序,以返回特定关键字的确切前 10 个 Google 搜索结果。所以我决定尝试一下 Google 搜索 api。特别是,我正在使用一个名为“GoogleSearchAPI”的 dotnet 应用程序,但它不会返回与输入 Google 完全相同的结果,我很好奇是否有办法做到这一点。无论是使用 Google Search API 还是通过其他方法,我真的不在乎哪种方式。
例如,以下是使用相同搜索短语的 2 个屏幕截图。第一个来自谷歌:
这就是从 Google Search API 针对相同搜索短语返回的内容(在编写本文时,该图像在我的预览中看起来被压扁了,所以为了以防万一,这里是图像网址: image link ):
如您所见,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 返回的确切搜索结果?我总是可以诉诸抓取,但这违反了 Google 的条款,因此我需要创建解决方法,这会变得相当困惑,所以如果可以的话,我宁愿避免这种情况。
谢谢
最佳答案
如果您从 API 获得结果,则一切正常。您无法从谷歌搜索中获得相同的结果,所有内容都基于您的 Cookie、浏览器历史记录、书签、位置等。您可以尝试从两个不同的浏览器进行搜索,您会得到不同的结果。
关于c# - 如何返回准确的谷歌搜索结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27133214/