如何在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中提取网页文本内容? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

怎么用 vb提取网页内容?

Java如何使用Java向PDF页面中添加文本

java如何制作个向网页文本框中自动填写数据

网页内容爬取:如何提取正文内容 BEAUTIFULSOUP的输出

HTMLParser提取网页

如何从android中的jpeg图像中提取文本[关闭]