采用类似示例中的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"
Run Code Online (Sandbox Code Playgroud)
而不是使用css选择器,使用具有starts-with()函数的xpath选择器
cast <- html_nodes(html, xpath="//div[starts-with(@id,'post_message')]")
Run Code Online (Sandbox Code Playgroud)
或者,您实际上也可以使用“功能要弱得多”的 CSS 选择器来做同样的事情:
cast <- html_nodes(html, "div[id^='post_message']")
Run Code Online (Sandbox Code Playgroud)