我想选择
与{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文本,所以我必须使用类名。
我哪里错了?
答案 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