在问答论坛中抓取日期

时间:2019-04-18 12:13:56

标签: r web-scraping rvest xml2

在此线程中

https://www.healthboards.com/boards/aspergers-syndrome/949512-im-lost.html

我正在寻找每个帖子的日期

我可以找到这个

css="td.thead:first-child"

所以当我运行这个

html_text(html_nodes(read_html("https://www.healthboards.com/boards/aspergers-syndrome/949512-im-lost.html"), css="td.thead:first-child"))

我知道了日期

[1] "  \r\n\t\t\t05-13-2013, 11:06 AM\r\n\t\t\t\r\n\t\t\t " "Sponsors "                                    "  \r\n\t\t\t07-26-2013, 08:15 AM\r\n\t\t\t\r\n\t\t\t "
 [4] "  \r\n\t\t\t04-26-2014, 06:28 PM\r\n\t\t\t\r\n\t\t\t " "  \r\n\t\t\t05-07-2014, 02:43 AM\r\n\t\t\t\r\n\t\t\t " "  \r\n\t\t\t09-19-2014, 07:28 AM\r\n\t\t\t\r\n\t\t\t "
 [7] "  \r\n\t\t\t09-19-2014, 07:29 AM\r\n\t\t\t\r\n\t\t\t " "Thread Tools"                                 " \r\n\t\tPosting Rules\r\n\t"                   
[10] "LinkBack"                                     "Bookmark & Share"                            

我得到日期,但也有“线程工具”,“发布规则”和“书签和共享” ..我在做什么错了?

1 个答案:

答案 0 :(得分:2)

看起来您用来匹配日期的CSS样式也可以在页面上的其他位置找到,从而返回其他条目。您可以使用CSS Selector仅查看ID以'post'开头的表的内部。选择器为table[id^='post'],完整的解决方案为:

html_text(html_nodes(read_html("https://www.healthboards.com/boards/aspergers-syndrome/949512-im-lost.html"), css="table[id^='post'] td.thead:first-child"))

[1] "  \r\n\t\t\t05-13-2013, 11:06 AM\r\n\t\t\t\r\n\t\t\t " "  \r\n\t\t\t07-26-2013, 08:15 AM\r\n\t\t\t\r\n\t\t\t "
[3] "  \r\n\t\t\t04-26-2014, 06:28 PM\r\n\t\t\t\r\n\t\t\t " "  \r\n\t\t\t05-07-2014, 02:43 AM\r\n\t\t\t\r\n\t\t\t "
[5] "  \r\n\t\t\t09-19-2014, 07:28 AM\r\n\t\t\t\r\n\t\t\t " "  \r\n\t\t\t09-19-2014, 07:29 AM\r\n\t\t\t\r\n\t\t\t "