繁体   English   中英

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

[英]Select div -class tag using Jsoup with Java

我想用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选择器,则会显示正确的文本信息,但是还有另一个不合适的divs文本,因此我必须使用类名。

我哪里错了?

文档显然表示还可以。

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

因此,我认为_引起了问题。 尝试使用div[class=article_text]作为选择器,如果该方法不起作用,则使用div[class^=article] (类以article开头),但是它可以选择比您想要的更多的内容。

更新

div.article_text可在在线Jsoup测试器( http://try.jsoup.org/ )上使用您代码中的网址进行工作。 也许问题在于您如何获取文档。 本示例使用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

事实证明,这个特定的url根据用户代理返回不同的内容(未设置用户代理,该div上不存在article_text ),因此只需将userAgent设置为Mozilla

Jsoup.connect("http://www.computerworld.bg/45781_sofiya_teh_park_tryabva_da_bade_zavarshen_do_kraya_na_2015_g").userAgent("Mozilla").get();

迭代<div>里面<ul>标签 Java - Jsoup</ul></div><div id="text_translate"><p> 我正在尝试使用 jsoup 将所有&lt;div&gt;放入&lt;ul&gt;标记中。</p><p> 这是 HTML</p><pre> &lt;html&gt; &lt;head&gt; &lt;title&gt;Try jsoup&lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;ul class="product__listing product__grid"&gt; &lt;div class="product-item"&gt; &lt;div class="content-thumb_gridpage"&gt; &lt;a class="thumb" href="index1.html" title="Tittle 1"&gt; &lt;/div&gt; &lt;/div&gt; &lt;div class="product-item"&gt; &lt;div class="content-thumb_gridpage"&gt; &lt;a class="thumb" href="index2.html" title="Tittle 2"&gt; &lt;/div&gt; &lt;/div&gt; &lt;div class="product-item"&gt; &lt;div class="content-thumb_gridpage"&gt; &lt;a class="thumb" href="index3.html" title="Tittle 3"&gt; &lt;/div&gt; &lt;/div&gt; &lt;/ul&gt; &lt;/body&gt; &lt;/html&gt;</pre><p> 我要迭代的是所有&lt;div class="product-item"&gt;所以我可以将所有&lt;a class="thumb"&gt;属性添加到列表中</p><pre>List-product-details [0] href="index1.html" title="Tittle 1" [1] href="index2.html" title="Tittle 2" [2] href="index3.html" title="Tittle 3"</pre><p> 请注意,可以有“N” product-item div</p><p> 这是我到目前为止得到的:</p><pre> Elements productList = sneakerList.select("ul.product__listing product__grid"); Elements product = productList.select("ul.product-item"); for (int i = 0; i &lt; product.size(); i++) { Elements productInfo = product.get(i).select("div.product-item").select("div.content-thumb_gridpage").select("a.thumb"); System.out.format("%s %s %s\n", productInfo.attr("title"), productInfo.attr("href"), productInfo.text()); }</pre></div>

[英]Iterate <div> inside <ul> tag Java - Jsoup

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 使用jsoup选择一个非重要的div标签 在Jsoup中选择特定的div类 如何在Java中使用jSoup获取span标签中的所有类属性 迭代<div>里面<ul>标签 Java - Jsoup</ul></div><div id="text_translate"><p> 我正在尝试使用 jsoup 将所有&lt;div&gt;放入&lt;ul&gt;标记中。</p><p> 这是 HTML</p><pre> &lt;html&gt; &lt;head&gt; &lt;title&gt;Try jsoup&lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;ul class="product__listing product__grid"&gt; &lt;div class="product-item"&gt; &lt;div class="content-thumb_gridpage"&gt; &lt;a class="thumb" href="index1.html" title="Tittle 1"&gt; &lt;/div&gt; &lt;/div&gt; &lt;div class="product-item"&gt; &lt;div class="content-thumb_gridpage"&gt; &lt;a class="thumb" href="index2.html" title="Tittle 2"&gt; &lt;/div&gt; &lt;/div&gt; &lt;div class="product-item"&gt; &lt;div class="content-thumb_gridpage"&gt; &lt;a class="thumb" href="index3.html" title="Tittle 3"&gt; &lt;/div&gt; &lt;/div&gt; &lt;/ul&gt; &lt;/body&gt; &lt;/html&gt;</pre><p> 我要迭代的是所有&lt;div class="product-item"&gt;所以我可以将所有&lt;a class="thumb"&gt;属性添加到列表中</p><pre>List-product-details [0] href="index1.html" title="Tittle 1" [1] href="index2.html" title="Tittle 2" [2] href="index3.html" title="Tittle 3"</pre><p> 请注意,可以有“N” product-item div</p><p> 这是我到目前为止得到的:</p><pre> Elements productList = sneakerList.select("ul.product__listing product__grid"); Elements product = productList.select("ul.product-item"); for (int i = 0; i &lt; product.size(); i++) { Elements productInfo = product.get(i).select("div.product-item").select("div.content-thumb_gridpage").select("a.thumb"); System.out.format("%s %s %s\n", productInfo.attr("title"), productInfo.attr("href"), productInfo.text()); }</pre></div> 如何在jsoup中从div中选择类? Jsoup从div类中选择一个随机的(1) 使用Jsoup解析HTML div标签 使用jsoup在div中选择标签的问题 如何使用 jsoup 在 div 中 select 1 跨越 2 使用jsoup选择div标签
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM