如何在java中提取网页文本内容?

我正在寻找一种方法,使用jdk或其他库从网页(最初是html)中提取文本。 请帮忙

谢谢

尽可能使用HTML解析器 ; 有许多可用于Java。

或者你可以像许多人一样使用正则表达式。 但是,除非您进行非常简单的处理,否则这通常是不可取的。

相关问题

  • Java HTML解析
  • 哪个Html Parser最好?
  • 任何好的Java HTML解析器?
  • 对java HTML解析器/编辑器的建议
  • 您在Java中推荐哪些HTML解析库

文字提取:

  • 从HTML Java中提取文本
  • 使用java html解析器进行文本提取

标签剥离:

  • 在Java中剥离HTML标记
  • 如何在JAVA中删除除“src”和“alt”之外的HTML属性
  • 从Java字符串中删除HTML

使用jsoup 。 这是目前最优雅的屏幕抓取库。

URL url = new URL("http://example.com/"); Document doc = Jsoup.parse(url, 3*1000); String title = doc.title(); 

我只是喜欢它的CSS选择器语法 。

这是一个很好地包装这些细节的简短方法(基于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")); }