我正在为客户做一个项目来分析谷歌搜索结果。
我查看了呈现的 html,我可以使用 HtmlAgilityPack 和以下代码获得谨慎的有机搜索结果:
HtmlNodeCollection Nodes = HtmlDoc.DocumentNode.SelectNodes("//li[@class='g']");
我猜 CSS 类 'g' 的名称被压缩以进行优化。
我担心这可能会在未来发生变化并破坏代码。
有没有更好、更强大的方法来做到这一点,或者这是最好的方法?
我正在为客户做一个项目来分析谷歌搜索结果。
我查看了呈现的 html,我可以使用 HtmlAgilityPack 和以下代码获得谨慎的有机搜索结果:
HtmlNodeCollection Nodes = HtmlDoc.DocumentNode.SelectNodes("//li[@class='g']");
我猜 CSS 类 'g' 的名称被压缩以进行优化。
我担心这可能会在未来发生变化并破坏代码。
有没有更好、更强大的方法来做到这一点,或者这是最好的方法?
你真的不应该从谷歌那里得到这样的结果,因为他们可能会禁止你。更好的方法是使用Google Custom Search API。
在不久的将来也不太可能发生变化,因此您也不必担心。
此外,来自Google 服务条款:
5.3 您同意不通过谷歌提供的界面以外的任何方式访问(或试图访问)任何服务,除非您在与谷歌的单独协议中被明确允许这样做。您明确同意不通过任何自动化方式(包括使用脚本或网络爬虫)访问(或尝试访问)任何服务,并应确保您遵守服务中存在的任何 robots.txt 文件中的说明.