如何僅使用java解析使用jsoup的網頁中的文本?如何從HTML中解析文本
回答
從jsoup食譜:http://jsoup.org/cookbook/extracting-data/attributes-text-html
String html = "<p>An <a href='http://example.com/'><b>example</b></a> link.</p>";
Document doc = Jsoup.parse(html);
String text = doc.body().text(); // "An example link"
嗯,這裏是一個快速的方法我一起扔一次。它使用正則表達式完成工作。大多數人會同意這不是一個好辦法。所以,使用風險自負。
public static String getPlainText(String html) {
String htmlBody = html.replaceAll("<hr>", ""); // one off for horizontal rule lines
String plainTextBody = htmlBody.replaceAll("<[^<>]+>([^<>]*)<[^<>]+>", "$1");
plainTextBody = plainTextBody.replaceAll("<br ?/>", "");
return decodeHtml(plainTextBody);
}
這最初是在我的API封裝器中用於堆棧溢出API。所以,它只在html標籤的一小部分下進行測試。
嗯...爲什麼不使用簡單的正則表達式:'replaceAll(「<[^>] +>」,「」)'? – Crozin 2010-08-17 22:28:04
@Crozin,好吧,我在教自己如何使用我猜的後向引用。它看起來像你的可能也會工作。 – jjnguy 2010-08-17 22:31:03
這傷害! - > http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags – sleeplessnerd 2011-08-27 13:54:15
使用是JDK的一部分類:
import java.io.*;
import java.net.*;
import javax.swing.text.*;
import javax.swing.text.html.*;
class GetHTMLText
{
public static void main(String[] args)
throws Exception
{
EditorKit kit = new HTMLEditorKit();
Document doc = kit.createDefaultDocument();
// The Document class does not yet handle charset's properly.
doc.putProperty("IgnoreCharsetDirective", Boolean.TRUE);
// Create a reader on the HTML content.
Reader rd = getReader(args[0]);
// Parse the HTML.
kit.read(rd, doc, 0);
// The HTML text is now stored in the document
System.out.println(doc.getText(0, doc.getLength()));
}
// Returns a reader on the HTML data. If 'uri' begins
// with "http:", it's treated as a URL; otherwise,
// it's assumed to be a local filename.
static Reader getReader(String uri)
throws IOException
{
// Retrieve from Internet.
if (uri.startsWith("http:"))
{
URLConnection conn = new URL(uri).openConnection();
return new InputStreamReader(conn.getInputStream());
}
// Retrieve from file.
else
{
return new FileReader(uri);
}
}
}
- 1. 如何從html文件解析文本
- 2. c#:從html解析文本
- 3. 從Python解析HTML中提取文本
- 4. 如何使用htmlagilitypack解析HTML文本?
- 5. 如何使用Jsoup解析html文本?
- 6. 如何從iOS上的解析文本中移除html標記?
- 7. 如何從SAS中的大型html解析文本
- 8. 如何提取從Twig中的HTML解析的純文本?
- 9. 如何從解析的文本中移除HTML標籤?
- 10. HTML解析 - 從.html文件
- 11. 如何從html解析li
- 12. 解析本地HTML文件
- 13. 解析HTML文本與jQuery
- 14. 解析HTML爲純文本
- 15. ASP.Net SQL文本解析HTML
- 16. 解析HTML行內文本
- 17. 如何使用Angular.js從解析的HTML文本創建列表?
- 18. 如何使用lxml從html解析文本?
- 19. 如何解析URL中的HTML文件?
- 20. 如何在iphone中解析HTML文件
- 21. 在HTML中解析/顯示RTF文本?
- 22. 本地HTML文件的HTML解析器
- 23. PHP解析器:解析HTML標籤後的HTML文本
- 24. Python:從html文件中獲取和解析文本
- 25. JSoup從html文件中解析文本和鏈接順序
- 26. 從文本文件解析
- 27. 如何從Javascript中解析外部文件中的html
- 28. 如何解析文本
- 29. 如何解析文本
- 30. 如何解析文本
如何排除不可見元素? (例如:display:none) – Ehsan 2013-06-19 06:51:26