Java 使用Jsoup提取html文本,但返回意外结果
我正在尝试编写一个web spider来从html页面提取文本,并使用Jsoup解析html,简单代码如下:Java 使用Jsoup提取html文本,但返回意外结果,java,jsoup,Java,Jsoup,我正在尝试编写一个web spider来从html页面提取文本,并使用Jsoup解析html,简单代码如下: File file = new File("test2.html"); Document doc = Jsoup.parse(file, "utf-8"); System.out.println(doc.select("body").text()); test2.html文件如下所示: 输出为: hellothis是一个简单的测试链接 测试1 测试2 测试3 测试4 测试5 测试
File file = new File("test2.html");
Document doc = Jsoup.parse(file, "utf-8");
System.out.println(doc.select("body").text());
test2.html文件如下所示:
输出为:
hellothis是一个简单的测试链接
- 测试1
- 测试2
- 测试3
- 测试4
- 测试5
- 测试6
Jsoup似乎将textarea中的代码视为所有文本。
如何删除所有html标记,只保留真实文本?正如fairjm所指出的,这是预期的行为 如果使用jsoup检查
textarea
元素,您将发现:
- 它只有一个子节点(返回
)1
- 子节点是文本节点(返回
)#text
hellothis is a simple testtest link test1 test2 test3 test4 test5 test6
行为正确。您可以再次在textarea中解析文本。
hellothis is a simple testtest link test1 test2 test3 test4 test5 test6