Java 使用Jsoup解析HTML div标记

Java 使用Jsoup解析HTML div标记,java,jsoup,Java,Jsoup,我试图从那些div标记中获取文本,但它们都没有返回任何内容: HTML: <div id="comments" class="part comments last"><script type="text/rocketscript" data- rocketsrc="http://sabq.org/js/parts/comments/global.js?1324675506" data- rocketoptimized="true"></script&

我试图从那些div标记中获取文本,但它们都没有返回任何内容:

HTML:

<div id="comments" class="part comments last"><script type="text/rocketscript" data-    rocketsrc="http://sabq.org/js/parts/comments/global.js?1324675506" data-      rocketoptimized="true"></script>
<h2 class="header">التعليقات (23)</h2>

<div id="comment_5946146" class="item
                                            ">
<h4 class="direction1">
<span class="serial">1</span> *محمد * </h4>
<p class="direction1"><span class="date-time">17 جمادى الأولى 1435 | 12:46 AM</span></p>
<p class="like-buttons">
<span class="like " title="أعجبني"><span class="value">5</span></span>
<span class="sep">-</span>
<span class="unlike " title="لم يعجبني"><span class="value">0</span></span>
<input type="hidden" name="class" value="Comment">
<input type="hidden" name="id" value="5946146">
</p>
<br clear="all">
<div class="message">هؤلاء أشخاص لم يجدوا سبيلاً لطلب الرزق إلا بهذه الطريقة فكفاكم تضييقاً وخناقاً عليهم حتى في مصادر رزقهم ....</div>

</div>
以及:


但是它们不起作用。

用5个案例对html进行了尝试,它们都很好,只是一个小提示-您正在使用
文档检索
元素的集合,而不仅仅是单个
元素。选择(“div.message”)

代码:

给予

م حتى في مصادر رزقهم ....
17 جمادى الأولى 1435 | 12:46 AM
التعليقات (23) 1 *محمد * 17 جمادى الأولى 1435 | 12:46 AM 5 - 0 هؤلاء أشخاص لم يجدوا سبيلاً لطلب الرزق إلا بهذه الطريقة فكفاكم تضييقاً وخناقاً عليهم حتى في مصادر رزقهم ....
1 *محمد *
هؤلاء أشخاص لم يجدوا سبيلاً لطلب الرزق إلا بهذه الطريقة فكفاكم تضييقاً وخناقاً عليهم حتى في مصادر رزقهم ....
PS:我使用了
.first()
来证明所用选择器的有效性,因为您的html具有唯一的非重复组合。如果每个选择器有多个结果,则可以迭代集合并获得单个结果,如:

Elements message = document.select("div.message");

for (Element el : message) 
    System.out.println(el.text());
编辑:

要从url解析,请执行以下操作:

变,

Document document = Jsoup.parse(new File("some.html"),"utf-8");
对,


这对我很有用,不能在这里发布大量的输出,但您可以针对您的案例进行测试。

这两个代码示例对我都很有用。您可以发布您如何创建文档以及如何使用这些选择吗?@Pshemo您可以使用此url进行发布吗?查看它是否有效,因为我从发布的html示例中删除了一些div标记是的。我有错误403,这意味着资源是被禁止的,但在添加了与我的浏览器使用的相同的用户代理头之后,我可以看到它并毫无问题地解析它。你能描述一下你的代码到底是如何不起作用的吗?我实际上是在解析这个url,你能试着从中获取信息吗it@user2989698是的,我尝试了这个url,但它工作正常,无法发布结果,因为它太大了。尽管如此,我还是编辑了上面的帖子,修改后供您自己测试。请参考上面的编辑。
م حتى في مصادر رزقهم ....
17 جمادى الأولى 1435 | 12:46 AM
التعليقات (23) 1 *محمد * 17 جمادى الأولى 1435 | 12:46 AM 5 - 0 هؤلاء أشخاص لم يجدوا سبيلاً لطلب الرزق إلا بهذه الطريقة فكفاكم تضييقاً وخناقاً عليهم حتى في مصادر رزقهم ....
1 *محمد *
هؤلاء أشخاص لم يجدوا سبيلاً لطلب الرزق إلا بهذه الطريقة فكفاكم تضييقاً وخناقاً عليهم حتى في مصادر رزقهم ....
Elements message = document.select("div.message");

for (Element el : message) 
    System.out.println(el.text());
Document document = Jsoup.parse(new File("some.html"),"utf-8");
Document document = Jsoup.connect("http://sabq.org/WzUfde").userAgent("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.21 (KHTML, like Gecko) Chrome/19.0.1042.0 Safari/535.21").get();