登录
首页 >  Golang >  Go问答

无法使用 goquery 收集 Google 搜索结果的所有节点:某些节点丢失

来源:stackoverflow

时间:2024-04-21 10:30:36 468浏览 收藏

来到golang学习网的大家,相信都是编程学习爱好者,希望在这里学习Golang相关编程知识。下面本篇文章就来带大家聊聊《无法使用 goquery 收集 Google 搜索结果的所有节点:某些节点丢失》,介绍一下,希望对大家的知识积累有所帮助,助力实战开发!

问题内容

我正在尝试使用 goquery 库收集 GoLang 中的 google 搜索页面的结果。为了实现这一目标,我使用 goquery 收集 goquery 选择的所有节点。问题是 Find("*") 返回的选择似乎不包含 HTML 文档的所有节点。问题:该方法是否收集整个树结构的所有节点?如果没有,有没有办法把它们全部收集起来?

我尝试使用应用于整个文档选择的 goquery Find("*") 方法。因此,具有某些属性的节点不会被返回,尽管它们位于 HTML 文档中。例如,具有的节点无法识别

alltags := doc.Find("*") //doc 是带有 Google 搜索的 HTML 文档

所选内容不包含 class="srg" 的 div 标签。这同样适用于其他类值,例如“bkWMgd”、“rc”。


解决方案


我以前也遇到过这种情况。我试图用 python beautiful soup 包进行网络抓取,同样的事情也发生了。

后来发现,尝试获取时返回的 html 标记实际上是服务器在找到机器人后返回的标记。我通过将 User-Agent 设置为 Mozilla/5.0 解决了这个问题。

希望这有助于您解决这个问题。 您可以首先更新已执行的提取请求的代码。

好了,本文到此结束,带大家了解了《无法使用 goquery 收集 Google 搜索结果的所有节点:某些节点丢失》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>