JSoup Grabbing HTML值返回null?

时间:2013-01-03 02:06:17

标签: java html-parsing jsoup

我正在尝试使用Jsoup java库从在线随机字生成器中提取随机字。这是我的代码,随机字生成器的链接在那里:

public class getWord {

    public static void grabWord(){

Document doc = Jsoup.parse( "UTF-8", "http://watchout4snakes.com/CreativityTools/RandomWord/RandomWord.aspx");

Elements links = doc.getElementsByClass("randomWord");
 String linkText = links.text();
System.out.println(linkText);
}
}

如果您进入随机字生成器链接并查看源,则会包含随机字:

<span id="tmpl_main_lblWord" class="randomWord">indictment</span>

正如你所看到的,这个类是随机的,我试图使用getElementsByClass方法来获取该元素,因为它是具有randomWord类的页面上的唯一元素。我也试过使用doc.select("span[class$=randomWord]")得到了相同的结果,没有打印。谁能帮助我?感谢。

1 个答案:

答案 0 :(得分:4)

您正在使用接受HTML内容的parse方法。您需要使用URL代替Jsoup.parse("UTF-8", "http://watchout4snakes.com/CreativityTools/RandomWord/RandomWord.aspx"); 。取代

Jsoup.parse(new URL("http://watchout4snakes.com/CreativityTools/RandomWord/RandomWord.aspx"), 4000);

Jsoup.connect("http://watchout4snakes.com/CreativityTools/RandomWord/RandomWord.aspx").get();

更方便的是:

{{1}}