使用JSoup从网站获取文本

时间:2014-02-09 07:52:37

标签: java parsing web jsoup

我正在使用JSoup解析html网站。 我想从(例如)维基百科中获取文章。 我想从主页(http://en.wikipedia.org/wiki/Main_Page)中的“从今天的精选文章”中获取文本。

以下是代码:

Document doc = Jsoup.connect("http://en.wikipedia.org/wiki/Main_Page”);
Elements el = doc.select("div.mp-tfa”);
System.out.println(el);

问题是它无法正常工作 - 它只打印出一个空白行。 “从今天的特色文章”表插入div class =“mp-tfa”。

如何在我的java程序中获取此文本?

提前致谢。

2 个答案:

答案 0 :(得分:3)

变化:

doc.select("div.mp-tfa");

要:

doc.select("div#mp-tfa");

更好的方法是迭代为您选择的Elementstagclass检索到的Element,只需输入:

Document doc = Jsoup.connect("http://en.wikipedia.org/wiki/Main_Page").get();
Elements el = doc.select("div#mp-tfa");
for (Element e : el) {
    System.out.println(e.text());
}

会给:

The Boulonnais is a heavy draft horse breed from Fr....

答案 1 :(得分:1)

我认为它应该是:

Document doc = Jsoup.connect("http://en.wikipedia.org/wiki/Main_Page").get();
Elements el = doc.select("div#mp-tfa");
System.out.println(el);