一尘不染

是否有类似于Java的lxml或nokogiri的库?

java

我想进行一些屏幕抓取,理想情况下使用CSS选择器而不是XPath。是否有类似于Ruby或Python的库?


阅读 247

收藏
2020-12-03

共1个答案

一尘不染

有十二个用Java编写的屏幕抓取库。仅举几例:

* TagSoup-一种用Java编写的,与SAX兼容的解析器,而不是解析格式正确或有效的XML,而是对HTML进行解析,而这种HTML经常在野外发现:令人讨厌和粗暴,尽管通常情况很短。TagSoup是为需要使用某种合理的应用程序设计来处理这些东西的人们设计的。通过提供SAX接口,它甚至可以将标准XML工具应用于最差的HTML。
* Jericho HTML Parser
-Jericho HTML
Parser是一个简单但功能强大的Java库,允许对HTML文档的各个部分进行分析和操作,包括一些常见的服务器端标签,同时逐字再现任何无法识别或无效的HTML。它还提供了高级HTML表单操作功能。t既不是事件也不是基于树的解析器,而是结合了简单的文本搜索,有效的标签识别和标签位置缓存。首先将整个源文档的文本加载到内存中,然后仅在相关段中搜索每个搜索操作的相关字符。
* HTML Cleaner
-HtmlCleaner对单个元素重新排序,并从脏HTML生成格式正确的XML。它遵循大多数Web浏览器用来创建文档对象模型的相似规则。用户可以提供自定义标签和规则集,以进行标签过滤和平衡。
* NekoHTML
-NekoHTML是一个简单的HTML扫描器和标签平衡器,使应用程序程序员可以解析HTML文档并使用标准XML接口访问信息。解析器可以扫描HTML文件并“修复”人类(和计算机)作者在编写HTML文档时犯的许多常见错误。NekoHTML添加了丢失的父元素;自动关闭带有可选结束标签的元素;并可以处理不匹配的内联元素标签。

还有更多有关Java编写的HTML屏幕抓取工具的信息。但是,正如我在上一个答复中提到的那样,这些是IMO处理任何内容(了解各种废话)的最佳方法。对于您来说,这可能不是问题。

以防万一,也许检查一下线程Nokogiri pure Java
status

2020-12-03