【发布时间】:2018-04-06 23:02:50
【问题描述】:
我正在尝试使用以下代码在 R 中抓取网页 (https://aviation-safety.net/database/dblist.php?Year=1986&lang=&page=1):
install.packages("rvest")
library(rvest)
aviationurl = "https://aviation-safety.net/database/dblist.php?Year=1986"
webpage = read_html(aviationurl)
# define variables of interest
variables = c("Date","Type","Registration","Operator","Fat","Location","Flag","Picture","Category")
# create sequence of numbers (as CSS for each variable contains a number)
colnums = seq(1,length(variables))
# write commands for pulling each variable into an R dataframe and executing them
eval(parse(paste(variables," = as.data.frame(html_text(html_nodes(webpage,'td:nth-child(",colnums,")')))",sep="")))
# create final table with all variables
df = cbind(parse(variables))
但是,在 eval 命令之后,我收到以下错误消息:
文件中的错误(文件名,“r”):无效的“描述”参数 另外:警告信息: 在 if (file == "") { : 条件的长度 > 1 并且只使用第一个元素
如果我使用不带 eval(parse()) 的粘贴命令,并手动 C+P 生成字符串,它们可以正常工作。那么为什么 R 不能正确评估它们呢?
愿意接受其他建议,但想知道为什么 eval 不起作用,以及我是否可以做些什么来使这项工作正常进行。
谢谢!
乔什
【问题讨论】:
-
请看看我的回答是否对您的问题有帮助