我正在使用JSoup库来提取网页中的文本。以下是我的代码
Document doc;
try {
URL url = new URL(text);
doc = Jsoup.parse(url, 70000);
Elements paragraphs = doc.select("p");
for(Element p : paragraphs)
{
textField.append(p.text());
textField.append("\n");
}
}
catch (Exception ex)
{
ex.printStackTrace();
}
在这里,我只能从“p”标签中获取文字。但我需要页面中的所有文字。我该怎么做?这可能是通过循环遍历节点,但我刚开始使用JSoup
。
答案 0 :(得分:1)
试试这个:
String text = Jsoup.parse(new URL("https://www.google.com"), 10000).text();
System.out.println(text);
这里,10000是以毫秒为单位,指的是超时。
答案 1 :(得分:0)
您可能希望使用Boilerpipe,因为您不需要HTML解析,而只需要文本提取。这应该更快,耗费更少的CPU。
示例:的
URL url = new URL("http://www.example.com/some-location/index.html");
// NOTE: Use ArticleExtractor unless DefaultExtractor gives better results for you
String text = ArticleExtractor.INSTANCE.getText(url);
答案 2 :(得分:0)
也许完全不同的方法。我不确定你到底在做什么,因此我不确切知道你需要什么。但是你可以抓住整个网页的整个原始资源。然后使用regexp删除所有html标记。我做了类似的事情(虽然在php中),用于文本到代码比率工具一次。