使用 Java 进行网页抓取

新手上路,请多包涵

我找不到任何好的基于 Java 的 Web 抓取 API。我需要抓取的站点也不提供任何 API;我想使用一些 pageID 遍历所有网页,并在它们的 DOM 树中提取 HTML 标题/其他内容。

除了网络抓取之外还有其他方法吗?

原文由 NoneType 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 523
2 个回答

jsoup

提取标题并不困难,而且您有很多选择,请在 Stack Overflow 上搜索“ _Java HTML 解析器_”。其中之一是 Jsoup

如果您知道页面结构,则可以使用 DOM 导航页面,请参阅 http://jsoup.org/cookbook/extracting-data/dom-navigation

这是一个很好的库,我在最近的项目中使用过它。

原文由 Wajdy Essam 发布,翻译遵循 CC BY-SA 4.0 许可协议

你最好的选择是使用 Selenium Web Driver 因为它

  1. 向编码员提供视觉反馈(查看您的抓取操作,查看它停止的位置)

  2. 准确且一致,因为它直接控制您使用的浏览器。

  3. 减缓。不像 HtmlUnit 那样点击网页,但有时您不想点击得太快。

    Htmlunit 速度很快,但在处理 Javascript 和 AJAX 时却很糟糕。

原文由 KJW 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题