如何在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")); }