我使用HttpClient访问一个particualr网站,我得到的响应是HTML格式。我应该使用解析器的HTML解析器或方法,并从响应中获得我想要的内容。 注意:我使用HttpClient和Java一起使用HTML解析器响应 - Java
2
A
回答
4
使用jsoup。
jsoup
是一个用于处理真实世界HTML的Java库。它提供了一个非常方便的API来提取和操作数据,使用最好的DOM,CSS和类似jquery的方法。
jsoup
实现了WHATWG HTML5规范,并将HTML解析为 与现代浏览器的DOM相同。
- 刮,并使用DOM遍历或CSS选择
- 操纵HTML元素从一个URL,文件或字符串
- 查找和提取数据,解析HTML,属性和文本
- 干净的用户提交的内容对一个安全白名单,以防止XSS攻击
- 输出整洁HTML
jsoup是专门用来对付所有品种Ø f在HTML中发现 狂野;从原始和验证,到无效的标签汤; jsoup将 创建一个合理的分析树。
1
我会给htmlcleaner一试。
HTMLCleaner是Java库,用于安全地解析和转换Web上发现的任何HTML到格式良好的XML。它设计的小巧,快速,灵活和独立。 HtmlCleaner可用于Java代码,命令行工具或Ant任务。解析结果是轻量级的文档对象模型,可以很容易地转换为DOM或JDom等标准,或以各种方式(紧凑,漂亮打印等)序列化为XML输出。
您可以使用XPath
与htmlcleaner得到XML中的内容/ HTML tags.Here是一个很好的
例如Xpath Example
0
示例代码jsoup和Java8:
// Imports:
...
import java.nio.charset.StandardCharsets;
import org.apache.commons.io.IOUtils;
...
// Execute the GET request:
...
HttpClient clientGet = HttpClientBuilder.create().build();
HttpGet get = new HttpGet(url);
HttpResponse res = clientGet.execute(get);
// Use jsoup to parse the html response:
// E.g. find all links with reference to myapp:
// <a href="myapp">HelloWorldApp</a>
Document doc = Jsoup.parse(IOUtils.toString(res.getEntity().getContent(), StandardCharsets.UTF_8));
Elements links = doc.select("a[href~=myapp]");
for (Element link : links)
String appName = link.html();
...
相关问题
- 1. 解析Html响应头iPhone
- 2. 解析HTML响应 - iPhone App
- 3. 解析HTML获取响应
- 4. HTML解析器使用Java
- 5. 解析响应
- 6. 解析响应
- 7. 在jQuery中解析HTML响应
- 8. 解析Java中的oData响应
- 9. 在JAVA中解析JSON响应
- 10. WCF无法解析Java的SOAP响应
- 11. 解析Java中的大型XML响应
- 12. Java Gson http响应难解析
- 13. 在JAVA中解析xml响应
- 14. 如何在JAVA中解析JSON响应
- 15. 如何使用Ruby解析不带响应头的HTML响应
- 16. HTML解析Java中
- 17. 用Java解析HTML
- 18. 解析HTML Java中
- 19. 解析DNS响应
- 20. 解析JSON响应
- 21. 解析JSON响应。
- 22. 解析GET响应
- 23. XML响应解析
- 24. 解析响应值
- 25. 解析githubarchive响应
- 26. 解析HTTParty响应
- 27. 解析XML响应
- 28. 解析Json响应
- 29. 解析ksoap2响应
- 30. 解析json响应
可能重复[哪个Html解析器是最好的?](http://stackoverflow.com/questions/2168610/which-html-parser-is-best) – 2012-01-10 22:50:22
我upvoted两个。 Java库中的html解析非常糟糕;别的什么会更好。 – Bill 2012-01-10 23:27:05