如何在java中提取网页文本内容? [关闭]
Posted
技术标签:
【中文标题】如何在java中提取网页文本内容? [关闭]【英文标题】:how to extract web page textual content in java? [closed] 【发布时间】:2011-03-03 11:21:02 【问题描述】:我正在寻找一种使用 jdk 或其他库从网页(最初是 html)中提取文本的方法。请帮忙
谢谢
【问题讨论】:
最好的方法是使用“compile 'org.jsoup:jsoup:1.9.2'” 【参考方案1】:使用jsoup。这是目前最优雅的屏幕抓取库。
URL url = new URL("http://example.com/");
Document doc = Jsoup.parse(url, 3*1000);
String title = doc.title();
我就是喜欢它的CSS selector syntax。
【讨论】:
喜欢 jsoup,但它不执行相关的 javascript。对于 Javascript 呈现的页面,我使用 Selenium。【参考方案2】:尽可能使用HTML parser; Java 有很多可用的。
或者您可以像许多人一样使用正则表达式。但是,这通常是不可取的,除非您进行非常简单的处理。
相关问题
Java HTML Parsing Which Html Parser is best? Any good Java HTML parsers? recommendations for a java HTML parser/editor What HTML parsing libraries do you recommend in Java文本提取:
Text Extraction from HTML Java Text extraction with java html parsers标签剥离:
Stripping HTML tags in Java How to strip HTML attributes except “src” and “alt” in JAVA Removing HTML from a Java String【讨论】:
【参考方案3】:这是一个很好地包装这些细节的简短方法(基于java.util.Scanner
):
public static String get(String url) throws Exception
StringBuilder sb = new StringBuilder();
for(Scanner sc = new Scanner(new URL(url).openStream()); sc.hasNext(); )
sb.append(sc.nextLine()).append('\n');
return sb.toString();
这就是它的使用方式:
public static void main(String[] args) throws Exception
System.out.println(get("http://www.yahoo.com"));
【讨论】:
以上是关于如何在java中提取网页文本内容? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章