我使用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獲取響應
- 2. 解析Html響應頭iPhone
- 3. 解析HTML響應 - iPhone App
- 4. HTML解析器與Java
- 5. HTML解析器使用Java
- 6. 解析XML響應
- 7. 解析響應
- 8. 解析響應
- 9. 如何解析此html響應?
- 10. 在jQuery中解析HTML響應
- 11. 解析JSON響應
- 12. 解析網頁響應,JSON,在Java中
- 13. WCF無法解析Java的SOAP響應
- 14. 如何在JAVA中解析JSON響應
- 15. 解析Java中的oData響應
- 16. 解析Java中的SOAP響應
- 17. 在JAVA中解析xml響應
- 18. 解析Java中的大型XML響應
- 19. 在JAVA中解析JSON響應
- 20. Java Gson http響應難解析
- 21. 如何使用Ruby解析不帶響應頭的HTML響應
- 22. XML響應解析
- 23. 解析json響應
- 24. 解析Json響應
- 25. 解析JSON響應
- 26. 解析HTTParty響應
- 27. 解析ksoap2響應
- 28. Saop響應解析
- 29. 解析XML響應
- 30. 解析xhr.responseText響應
可能重複[哪個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