如何将无直接下载链接的Our World in Data网页数据加载到R中?
R加载目标页面新冠数据的实现方法
你可以通过以下两种方案实现数据加载:
方案1:手动抓包获取CSV地址(无需额外R包)
- 打开目标页面,按下
F12打开浏览器开发者工具,切换到「网络」面板 - 点击页面上的CSV下载按钮,在网络请求列表中筛选
文档类型的请求,即可找到对应的CSV真实下载地址 - 直接将地址传入
read.csv()读取即可,示例代码:
# 替换为你抓包获取的实际CSV地址 covid_data <- read.csv("your_captured_csv_url")
如果出现读取超时问题,可以先将文件下载到本地再读取:
download.file("your_captured_csv_url", destfile = "covid_data.csv") covid_data <- read.csv("covid_data.csv")
方案2:自动抓取页面内的下载地址(需要解析包)
不需要手动操作浏览器,直接用R代码提取页面内的CSV下载链接,需要提前安装rvest和stringr依赖包:
# 首次使用先安装依赖包 install.packages(c("rvest", "stringr")) library(rvest) library(stringr) # 填入目标页面地址 page_url <- "https://ourworldindata.org/grapher/cumulative-deaths-and-cases-covid-19" # 读取页面HTML并提取CSV下载链接 csv_url <- read_html(page_url) %>% html_elements("a") %>% html_attr("href") %>% str_subset("\\.csv$") %>% paste0("https://ourworldindata.org", .) # 读取数据 covid_data <- read.csv(csv_url)
内容的提问来源于stack exchange,提问作者Dave4048
相关产品推荐
相关产品推荐

