我正在尝试使用goquery库在GoLang中收集谷歌搜索页面的结果。为了实现这一点,我使用goquery收集goquery选择的所有节点。问题是Find("*")返回的选择似乎并不包含HTML文档的所有节点。问:该方法是否收集具有整个树结构的所有节点?如果没有,有没有办法把它们都收集起来?
我尝试使用应用于整个文档选择的goquery Find("*")方法。因此,具有某些属性的节点不会被返回,尽管它们在HTML文档中。例如,不能识别带有的节点
:= doc.Find("*") //文档是谷歌搜索的超文本标记语言文档
所选内容不包含带有class="srg“的div标签。这同样适用于其他类值,例如"bkWMgd“、"rc”。
发布于 2019-05-25 02:46:46
我以前也遇到过这种情况。我试着用python漂亮的汤包进行网络抓取,同样的事情也发生了。
后来发现,试图获取它时返回的html标记实际上是服务器在找到机器人后返回的标记。我通过将User-Agent设置为Mozilla/5.0解决了这个问题。
希望这能帮助你解决这个问题。您可以从更新已执行的fetch请求的代码开始。
https://stackoverflow.com/questions/56297845
复制相似问题