采用类似示例中的vbulletin网站。 我希望能够从线程中删除文本消息。但是,消息的css选择器称为#post_message_xxx,其中xxx是变量id号。
如何将选择器与html_nodes部分匹配,以便我得到所有以#post_message开头的,无论它们如何结束?
或许我应该问一个更一般的问题。如果我希望能够将作者归于消息并跟踪消息顺序,我应该如何抓取页面。
感谢。
library(rvest)
html <- html("http://www.acme.com/forums/new_rules_28429/")
cast <- html_nodes(html, "#post_message_28429")
cast
> <div id="post_message_28429"> Thanks for posting
> this. </div>
>
> attr(,"class")
[1] "XMLNodeSet"
答案 0 :(得分:5)
使用具有starts-with()
函数
cast <- html_nodes(html, xpath="//div[starts-with(@id,'post_message')]")
答案 1 :(得分:4)
或者你实际上也可以同样地使用&#34;远不那么强大&#34; CSS选择器:
cast <- html_nodes(html, "div[id^='post_message']")