【问题标题】:Search html returned by googgle search then tell nth result搜索谷歌搜索返回的 html,然后告诉第 n 个结果
【发布时间】:2020-04-28 20:06:09
【问题描述】:

假设我使用HttpClient(.net 或任何等效框架)向谷歌发送搜索请求,以查看最佳台式电脑品牌的结果是什么

HttpResponseMessage response = await client.GetAsync("https://www.google.com/search?q=best+desktop+brand");

然后我得到一个原始 html,假设有 10 个结果,“https://www.dell.com/”是第 3 个结果,但是在原始 html 中,我怎么知道它是第 3 个结果,是不是任何特殊的字符串分隔符将每个结果分开?

【问题讨论】:

    标签: c# search web-crawler search-engine keyword


    【解决方案1】:

    对于返回的 HTML,您不能依赖 任何东西。它旨在在网络浏览器中向人类显示,而不是由脚本解析。它可能随时改变。

    这样做也违反了他们的服务条款,如果他们发现您,他们可能会阻止您。

    感谢 Google provide an API 以编程方式获取搜索结果。我建议你使用它。

    【讨论】:

    • 如果你有钱,谷歌 api 就很棒!每 1000 个请求花费 5 美元...