如果你要嵌套括号电话无论如何,为什么打扰管道?
html_table(html_nodes(test, "table.data-breach-table")[[1]])
否则去满管,并使用magrittr
还有:
library(magrittr)
test %>%
html_nodes("table.data-breach-table") %>%
extract2(1) %>%
html_table()
注:
- 您使用的是不具有表中的URL是否仍要
- 你应该正在使用最新的
rvest
并使用read_html
至于为什么它不能正常工作,你错误地管道test
和html_nodes
正在table…
字符串上运行,而不是它所期望的解析的HTML文档。
既然你想刮漏洞,这可能会有所帮助:
library(rvest)
library(dplyr)
library(pbapply)
urls <- sprintf("http://www.privacyrights.org/data-breach?title=&page=%d", 1:94)
pblapply(urls, function(URL) {
pg <- read_html(URL)
tab <- html_nodes(pg, "table")[3]
rows <- html_nodes(tab, "tr:not(.data-breach-bottom)")
bind_rows(lapply(seq(2, length(rows)-2, by=2), function(i) {
tds_1 <- html_nodes(rows[i], "td")
tds_2 <- html_text(html_nodes(rows[i+1], "td"), trim=TRUE)
data_frame(date_public=html_text(tds_1[1], TRUE),
name_loc=html_text(tds_1[2], TRUE),
entity=html_text(tds_1[3], TRUE),
type=html_text(tds_1[4], TRUE),
recs=html_text(tds_1[5], TRUE),
descr=tds_2[1])
}))
}) -> things
这是从我的旧gitst。如果您计划刮擦所有违规行为,您需要添加随机睡眠延迟。
还请注意,它是倾斜的数据,并非常了解它的局限性,因为你试图使用它(我做数据泄密研究为生)。
非常感谢你,我会对任何其他可能推荐的数据泄露来源感兴趣 –
我实际上建议加入[信息风险分析师协会](http://lists.societyinforisk.org/mailman/listinfo/sira)(它是免费的)和围绕档案(大量的链接)。还有。不过,这取决于你想要完成什么。 –
hrbrmstr
嗨,我很快就运行了代码,试图了解它是如何工作的。我对R非常陌生,所以对软件有点挣扎 - 它给了我一个错误错误:期待一个外部指针 来自:eval(expr,envir,enclos) –