Java 从URL中提取文章文本
我想为给定的URL提取文章的文本 你知道它是否存在一些库或现有的代码能够做到这一点吗 以下是URL的一个示例: 谢谢Java 从URL中提取文章文本,java,rss,extract,rss-reader,Java,Rss,Extract,Rss Reader,我想为给定的URL提取文章的文本 你知道它是否存在一些库或现有的代码能够做到这一点吗 以下是URL的一个示例: 谢谢 关于您需要使用JTomatoSoup它的用途是: 从URL、文件或字符串中提取并解析HTML 使用DOM遍历或CSS选择器查找和提取数据 操作HTML元素、属性和文本 根据安全白名单清除用户提交的内容,以防止XSS攻击 输出整洁的HTML 该站点还有一个简单的入门示例,但这里有一个来自Mykong的SSCCE: import java.io.IOException; impor
关于您需要使用
JTomatoSoup
它的用途是:
从URL、文件或字符串中提取并解析HTML使用DOM遍历或CSS选择器查找和提取数据
操作HTML元素、属性和文本
根据安全白名单清除用户提交的内容,以防止XSS攻击
输出整洁的HTML 该站点还有一个简单的入门示例,但这里有一个来自Mykong的SSCCE:
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class HTMLParserExample1 {
public static void main(String[] args) {
Document doc;
try {
// need http protocol
doc = Jsoup.connect("http://google.com").get();
// get page title
String title = doc.title();
System.out.println("title : " + title);
// get all links
Elements links = doc.select("a[href]");
for (Element link : links) {
// get the value from href attribute
System.out.println("\nlink : " + link.attr("href"));
System.out.println("text : " + link.text());
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
网站:我特别喜欢使用图书馆。您可以非常轻松地创建HTTP请求,并根据需要解析结果。下面是一个使用URL的简单示例(但没有解析)
为了给一些人腾出时间--Goose for Android提取文本和其他信息,请参阅开发页面了解更多信息。但是
JSoup
更好。它很好吃,对健康有好处,你知道吗DI通常将Apache用于JSON web服务,因此在这种情况下,它可能不是最简单的。我想,我更喜欢它是出于熟悉。
import java.io.IOException;
import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.ParseException;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.conn.params.ConnRoutePNames;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
public class Test {
public static void main(String[] args) throws ParseException, IOException {
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet("http://fr.news.yahoo.com/france-foot-pro-vote-gr%C3%A8ve-fin-novembre-contre-125358890.html");
HttpResponse response = httpclient.execute(httpget);
String responseText = EntityUtils.toString(response.getEntity());
EntityUtils.consumeQuietly(response.getEntity());
System.out.println(responseText);
}
}