使用带Java的Jsoup选择div -class标记

时间:2014-11-18 14:03:45

标签: java html class jsoup

我想选择 与{Jsoup一起<div class="article_text">some long text </div>

String url = "computerworld.bg/45781_sofiya_teh_park_tryabva_da_bade_zavarshen_do_kraya_na_2015_g";
Document document = Jsoup.parse(new URL(url).openStream(), "ISO-8859-1", url);
Elements elements = document.select("div.article_text");

然后我想迭代元素并获取theri文本。 但是没有选择div。如果我只尝试使用div作为css选择器显示正确的文本信息,但是还有另一个不合适的div文本,所以我必须使用类名。

我哪里错了?

1 个答案:

答案 0 :(得分:2)

documentation显然表示没问题。

Element masthead = doc.select("div.masthead").first(); // div with class=masthead

所以,我认为_导致了这个问题。尝试使用div[class=article_text]作为选择器,如果那不起作用,那么div[class^=article](类以文章开头),但它可以选择超出您想要的数量。

<强>更新

div.article_text使用代码中的url在线Jsoup测试器(http://try.jsoup.org/)。也许问题是你如何获得文件。 This example使用Jsoup.connect()

Document doc = Jsoup.connect("http://www.computerworld.bg/45781_sofiya_teh_park_tryabva_da_bade_zavarshen_do_kraya_na_2015_g").get();

更新2

原来这个特定的网址会根据用户代理返回不同的内容(没有用户代理设置,该div上不存在article_text),所以只需将userAgent设置为{{1}它会起作用。

Mozilla