【发布时间】:2018-03-05 08:31:57
【问题描述】:
我是 R 新手,在 Web 编程方面经验为零。 现在我被分配了一个项目来处理和可视化航空安全数据。 我在网上搜索了数据,得到了这里的网站http://aviation-safety.net/database/ 我对飞机类型、年份、国家和航空公司子类别感兴趣,如何使用 rvest 将这些数据作为数据框抓取?
这就像一个搭便车的问题,但我不知道刮擦。
【问题讨论】:
标签: r web-scraping rvest
我是 R 新手,在 Web 编程方面经验为零。 现在我被分配了一个项目来处理和可视化航空安全数据。 我在网上搜索了数据,得到了这里的网站http://aviation-safety.net/database/ 我对飞机类型、年份、国家和航空公司子类别感兴趣,如何使用 rvest 将这些数据作为数据框抓取?
这就像一个搭便车的问题,但我不知道刮擦。
【问题讨论】:
标签: r web-scraping rvest
实际上rvest 让这变得非常简单。举个例子链接到 1919 年的数据,然后
library(rvest)
read_html("http://aviation-safety.net/database/dblist.php?Year=1919") %>%
html_table()
[[1]]
date type registration operator fat. location pic cat
1 02-AUG-1919 Caproni Ca.48 Caproni 14 Verona NA NA A1
2 11-AUG-1919 Felixstowe Fury N123 RAF 1 near Felixtowe RNAS NA NA A1
而且链接应该是直截了当的,即使没有刮掉它们,对吧?要从图片中获取国家/地区,您必须选择国旗图片标题
read_html("http://aviation-safety.net/database/dblist.php?Year=1919") %>%
html_nodes(".innertube > table") %>%
html_nodes(".list > img") %>% html_attr("title") %>% na.omit()
[1] "Italy" "U.K."
attr(,"na.action")
【讨论】:
rbind结合起来,因为它来自不同的URL。只需将它们全部放在一个 lapply 循环左右 -