Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 不整理源代码的HTML解析器_Java_Parsing_Html Parsing_Jtidy_Htmlcleaner - Fatal编程技术网

Java 不整理源代码的HTML解析器

Java 不整理源代码的HTML解析器,java,parsing,html-parsing,jtidy,htmlcleaner,Java,Parsing,Html Parsing,Jtidy,Htmlcleaner,我的机器上有几百个旧的html文件,我正试图解析和提取一些数据。我尝试了不同的Java解析器,包括Jsoup、Tagsoup、HTMLcleaner、JTidy等。由于html代码在文件中的方式,我只能使用支持XPATH的解析器,尝试了Jsoup,但找不到等效的css选择器 无论如何,我的问题是,无论我尝试什么解析器,都会清理实际内容,并将“(撇号)之类的东西转换为奇怪的字符 所以我的问题是:是否可以使用任何Java解析器解析内容,而无需整理和替换特殊字符 提前感谢您的时间。只要html文件格式

我的机器上有几百个旧的html文件,我正试图解析和提取一些数据。我尝试了不同的Java解析器,包括Jsoup、Tagsoup、HTMLcleaner、JTidy等。由于html代码在文件中的方式,我只能使用支持XPATH的解析器,尝试了Jsoup,但找不到等效的css选择器

无论如何,我的问题是,无论我尝试什么解析器,都会清理实际内容,并将“(撇号)之类的东西转换为奇怪的字符

所以我的问题是:是否可以使用任何Java解析器解析内容,而无需整理和替换特殊字符


提前感谢您的时间。

只要html文件格式正确,您就可以使用任何DOM解析技术。这些解析器的优点是它们也处理格式错误的HTML,但我想它们至少可以选择不篡改内容。但是这些解析器正在更改内容,并用奇怪的字符替换特殊字符。例如,对于这个文本“Abc'd”,输出是“Abc–d”。如果可能的话,我想保持“'”不变,或者至少将其转换为正确的Ascii码。这似乎是文本编码的问题。您可能希望坚持使用一个您熟悉的解析器,只解决编码问题。我使用Jtidy(xpath)解析一半的内容,使用Jsoup(css选择器)解析一半的内容。这可能不是最有效的,因为每个页面都会读取和解析文件两次,而且代码过于臃肿,但现在就可以了。仍然渴望听到是否有其他更好的解决方案。