Yat*_*oel 187 html java parsing html-parsing web-scraping
我编写了很多解析器.到目前为止,我使用HtmlUnit无头浏览器进行解析和浏览器自动化.
现在,我想分开两个任务.
由于80%的工作只涉及解析,我想使用轻量级HTML解析器,因为在HtmlUnit中首先加载页面需要花费很多时间,然后获取源然后解析它.
我想知道哪个HTML解析器是最好的.如果它接近HtmlUnit解析器,解析器会更好.
编辑:
最好的,我至少需要以下功能:
如果它不清除脏HTML代码,那对我来说没问题.我不需要清理任何HTML源代码.我只需要一种最简单的方法来移动HtmlElements并从中获取数据.
Jon*_*ley 387
自我插件:我刚刚发布了一个新的Java HTML解析器:jsoup.我在这里提到它是因为我认为它会做你想做的事情.
它的派对技巧是用于查找元素的CSS选择器语法,例如:
String html = "<html><head><title>First parse</title></head>"
+ "<body><p>Parsed HTML into a doc.</p></body></html>";
Document doc = Jsoup.parse(html);
Elements links = doc.select("a");
Element head = doc.select("head").first();
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅选择器 javadoc.
这是一个新项目,所以任何改进的想法都是非常受欢迎的!
tan*_*ens 32
到目前为止我见过的最好的是HtmlCleaner:
HtmlCleaner是用Java编写的开源HTML解析器.在Web上找到的HTML通常很脏,格式不正确,不适合进一步处理.对于任何严重消费此类文件,有必要首先清理混乱并将订单带到标签,属性和普通文本.对于给定的HTML文档,HtmlCleaner重新排序单个元素并生成格式良好的XML.默认情况下,它遵循大多数Web浏览器用于创建文档对象模型的类似规则.但是,用户可以为标签过滤和平衡提供自定义标签和规则集.
使用HtmlCleaner,您可以使用XPath找到任何元素.
对于其他HTML解析器,请参阅此SO问题.
归档时间: |
|
查看次数: |
174222 次 |
最近记录: |