html - 无法用goquery收集谷歌搜索结果的所有节点:部分节点丢失
问题描述
我正在尝试使用 goquery 库在 GoLang 中收集谷歌搜索页面的结果。为了实现这一点,我正在使用 goquery 收集 goquery 选择的所有节点。问题是 Find("*") 返回的选择似乎不包含 HTML 文档的所有节点。问题:该方法是否收集具有整个树结构的所有节点?如果没有,有没有办法把它们全部收集起来?
我尝试使用应用于整个文档选择的 goquery Find("*") 方法。因此具有某些属性的节点不会被返回,尽管它们在 HTML 文档中。例如,节点不被识别
alltags := doc.Find("*") //doc 是带有 Google 搜索的 HTML 文档
选择不包含带有 class="srg" 的 div 标签。这同样适用于其他类值,例如“bkWMgd”、“rc”。
解决方案
这以前发生在我身上。我试图用 python 漂亮的汤包进行网络抓取,同样的事情正在发生。
后来发现,在尝试获取它时返回的 html 标记实际上是服务器在找到机器人后返回的标记。我通过设置User-Agent
to解决了这个问题Mozilla/5.0
。
希望这有助于您寻求解决这个问题。您可以首先更新已执行的获取请求的代码。
推荐阅读
- c# - 使用 C# ASP NET 为项目创建报告的 ITextPdf 7.1.13 库
- java - 如何将 2020-08-17 02:18:34+0000 转换为 Oracle DATE 类型
- scroll - SWT动态调整复合滚动的大小
- sapui5 - 具有stretchcontentheight 的IconTabBar 使我的标题在SAPUI5 中消失
- python-3.x - 是否可以继承 wx.grid.Grid 并使用我自己的元类?
- .net-core - .Net core 5.0 控制台应用程序引用在 .Net framework4.7.2 中构建的模型
- python - 如何让它出现在 Djanog-Python 中?
- javascript - 如何运行从 LogMeIn Rescue 等网站下载的 EXE
- c++ - 使 C++ 程序在启动后接受命令
- css - 在 createMuiTheme 或 makeStyles / styled 中反应 Material UI DataGrid 样式 MuiDataGrid-window