我正在将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:
答案 0 :(得分:0)
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();
}
这仅适用于一页。如果您想访问该主题的所有页面或论坛的所有主题,您将必须使用爬虫。