Java的HTML解析

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (12)

我正在研究一个从网站上抓取数据的应用程序,我想知道如何获取数据。具体而言,我需要包含在使用特定CSS类的多个div标记中的数据 - 目前(用于测试目的)我只是在检查

div class = "classname"

在HTML的每一行中 - 这是行得通的,但我不禁感到有更好的解决方案。

有没有什么好的方法可以让一个类的HTML一行,并有一些不错的方法,如:

boolean usesClass(String CSSClassname);
String getText();
String getLink();
提问于
用户回答回答于

几年前,我用JTidy来达到同样的目的:

http://jtidy.sourceforge.net/

“JTidy是HTML Tidy的一个Java端口,它是一个HTML语法检查器和漂亮的打印机,就像它的非Java表兄弟一样,JTidy可以用作清理格式错误和错误的HTML的工具。另外,JTidy提供了一个DOM接口正在处理的文档,这使您能够将JTidy用作真实世界HTML的DOM解析器。

JTidy由Andy Quick编写,后来从维护者职位上退出。现在,JTidy由一群志愿者维护。

有关JTidy的更多信息,请参见JTidy SourceForge项目页面。“

用户回答回答于

另一个可能对HTML处理有用的库是jsoup。Jsoup尝试清除格式错误的HTML,并允许使用jQuery(如标签选择器语法)在Java中进行HTML解析。

http://jsoup.org/

扫码关注云+社区