【发布时间】:2011-03-03 11:21:02
【问题描述】:
我正在寻找一种使用 jdk 或其他库从网页(最初是 html)中提取文本的方法。请帮忙
谢谢
【问题讨论】:
-
最好的方法是使用“compile 'org.jsoup:jsoup:1.9.2'”
标签: java
我正在寻找一种使用 jdk 或其他库从网页(最初是 html)中提取文本的方法。请帮忙
谢谢
【问题讨论】:
标签: java
使用jsoup。这是目前最优雅的屏幕抓取库。
URL url = new URL("http://example.com/");
Document doc = Jsoup.parse(url, 3*1000);
String title = doc.title();
我就是喜欢它的CSS selector syntax。
【讨论】:
尽可能使用HTML parser; Java 有很多可用的。
或者您可以像许多人一样使用正则表达式。但是,这通常是不可取的,除非您进行非常简单的处理。
文本提取:
标签剥离:
【讨论】:
这是一个很好地包装这些细节的简短方法(基于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"));
}
【讨论】: