【问题标题】:Use jsoup to parse div tags in a forum使用jsoup解析论坛中的div标签
【发布时间】:2013-12-04 21:53:05
【问题描述】:

我将 jSoup 库与 Processing 结合使用以从论坛中检索某些文本。我希望只在某个线程中从某个用户那里抓取帖子。

这些是包含用户名信息和帖子的 div 标签:

用户名:

<span itemprop="creator name" class="author vcard"><a hovercard-ref="member" hovercard-id="104291" data-ipb="noparse" class="url fn name  ___hover___member _hoversetup" href="[link to user's profile here]" title="" id="anonymous_element_4"><span itemprop="name">djrajio</span></a></span>

帖子:

<div itemprop="commentText" class="post entry-content ">[post text here]</div>

我尝试按照this 教程进行操作,但 div 标签的选择器语法对我来说不是很清楚。

有人可以指出正确的方向以仅从特定用户那里抓取文本吗?

Here是包含两个div标签的html:

【问题讨论】:

  • 你有更完整的html例子吗?发布包含它们的父元素
  • 用 html 更新了第一篇文章! :)
  • 我的回答解决了你的问题吗?如果是,那么您应该接受它,以便关闭主题。

标签: java html web-scraping jsoup processing


【解决方案1】:
try {

    ArrayList<String> arr = new ArrayList<String>();

    Document page = Jsoup.connect("http://illtellyoulater.com/div.txt").get();

    Elements posts = page.getElementsByAttributeValueStarting("id", "post_id_");

    for(Element post : posts) {
        if( post.getElementsByAttributeValue("itemprop", "creator name").get(0).text().trim().equals("djrajio") ) {
            arr.add(post.getElementsByAttributeValue("itemprop","commentText").get(0).text());
        }
    }


    System.out.println(arr.toString());
}catch(Exception e) {
    e.printStackTrace();
}

这只是一页。如果您想访问主题的所有页面,或论坛的所有主题,您将不得不使用爬虫。

【讨论】:

    猜你喜欢
    • 2014-04-25
    • 2012-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-18
    • 1970-01-01
    • 1970-01-01
    • 2015-06-18
    相关资源
    最近更新 更多