【发布时间】:2016-08-08 22:45:29
【问题描述】:
我正在使用 Jsoup 从不同的商店抓取一些在线数据,但我无法弄清楚如何以编程方式复制我作为用户所做的事情。要手动获取数据(登录后),用户必须从弹出的a tree 中选择一个商店。
据我所知,树并没有硬编码到站点中,而是在您的计算机与服务器交互时以交互方式构建的。当您在“查看页面源代码”中查找表格时,没有条目。当我inspect the tree 时,我确实看到了 HTML,它似乎来自“FancyTree”插件。
据我在 Developer Tools -- Network 上跟踪我的活动可以看出,下一步是一个不会更改 URL 的“GET”请求,所以我不确定我的商店选择是如何传输的.
任何关于如何让 Jsoup 或 Java 通常以编程方式与该表交互的建议都会非常有帮助,谢谢!
【问题讨论】:
-
DOMS 现在太动态了,希望只解析 html 并获得任何有用的东西。您需要使用像 Selenium 这样的远程控制浏览器的工具。这样,您可以要求它找到按钮和下拉菜单,选择正确的元素,正确执行 JS,然后在一切正确时向浏览器询问 DOMS 当前状态。然后你可以用jsoup解析它。如果这是使用 Linux 的服务器端应用程序,您仍然可以使用 xvfb 无头执行所有操作(如果是这种情况,则提供有用的提示)。
-
谢谢你,如果我可以投票给 cmets,我会投票给它!
标签: java web-scraping jsoup