Non*_*ype 72 java frameworks web-scraping
我无法找到任何好的网络抓取基于Java的API.我需要抓取的网站也没有提供任何API; 我想使用一些网页遍历所有网页,pageID并在其DOM树中提取HTML标题/其他内容.
除了网络抓取之外还有其他方法吗?
Waj*_*sam 94
提取标题并不困难,你有很多选择,在Stack Overflow上搜索" Java HTML解析器 ".其中一个是Jsoup.
如果您知道页面结构,可以使用DOM导航页面,请参阅 http://jsoup.org/cookbook/extracting-data/dom-navigation
这是一个很好的图书馆,我在上一个项目中使用过它.
KJW*_*KJW 21
您最好的选择是使用Selenium Web Driver
慢.没有像HtmlUnit这样的网页,但有时你不想打得太快.
Htmlunit很快,但在处理Javascript和AJAX方面很糟糕.
小智 5
Java 的 mechanize 非常适合这种情况,正如 Wadjy Essam 提到的,它使用 JSoup 来实现 HMLT。mechanize 是一个阶段式 HTTP/HTML 客户端,支持导航、表单提交和页面抓取。
http://gistlabs.com/software/mechanize-for-java/(以及此处的 GitHub https://github.com/GistLabs/mechanize)
小智 5
您可能会研究jwht-scraper!
这是一个完整的抓取框架,具有开发人员期望从网络抓取工具中获得的所有功能:
它与 (jwht-htmltopojo)[https://github.com/whimtrip/jwht-htmltopojo) lib 配合使用,该库本身使用其他几个人提到的 Jsoup。
它们将帮助您构建出色的抓取工具,将 HTML 直接映射到 POJO,并在几分钟内绕过任何经典的抓取问题!
希望这可以帮助这里的一些人!
免责声明,我是它的开发者,请随时让我知道您的言论!