r - R从多个唯一的网址中抓取表格
问题描述
我希望从我在 Excel 工作表的列中列出的多个唯一 URL 中抓取表格。我已经准备好从单个 url 抓取的正确代码:
library(rvest)
library(tidyverse)
library(readxl)
onepage <- read_html("https://spd.gsd.state.nm.us/WebPortal/Modules/Procurement/Public/ProcurementsWebViewHistoricDetail.aspx?ID=geydyybpyy4yycey8rydyyboyysoycoygryn4yndybeyycoygwydnyy")
Procdetail <- onepage %>% html_element ("#ContentPlaceHolder1_divSoleSource.table.table-condensed.table-borderless") %>%
html_table ()
以及所有其他 URL 读入 R 的 Excel
data <- read_excel("test.xlsx")
urls <- (data$URL)
不幸的是,其余的 URL 不仅仅是彼此的排列。相反,它们都有随机的唯一 url 结尾。例如,这里还有两个 URL:
https://spd.gsd.state.nm.us/WebPortal/Modules/Procurement/Public/ProcurementsWebViewHistoricDetail.aspx?ID=grydyybpyy5yypoygwydyyboyysoycoygryn4ynfybgoyceygyydqyy https://spd.gsd.state.nm.us/WebPortal/Modules/Procurement/Public /ProcurementsWebViewHistoricDetail.aspx?ID=grydyybpyy5oyqeygwydyyboyysoycoygryn4yboyyayycoygoydqyy
关于如何从所有这些唯一的 URL 中自动抓取这些表的任何建议?提前谢谢了!
解决方案
您可以创建一个函数,然后使用 lapply 来遍历 url 的向量。
read_my_urls <- function(url){
onepage <- read_html(url)
Procdetail <- onepage %>% html_element("#ContentPlaceHolder1_divSoleSource.table.table-condensed.table-borderless") %>%
html_table ()
Procdetail
}
my_scraped_data <- lapply(data$urls, read_my_urls)
推荐阅读
- excel - 匹配单元格字符串值的 SUMIFS 标准
- python - 为什么一个张量流模型预测相同数据的不同概率和 Y?
- reactjs - onMouseLeave 在同一类旁边的 React 中无法正常工作
- php - PHP/Laravel 检查给定的 2 个值是否在集合中
- haskell - 为什么 Haskell 的 'Generic' 类类型族 'Rep a' 被注释为类型构造函数,而不是类型?
- c# - 如何从 Debugger.GetExpression 获取 DisplayString 字段?
- amazon-s3 - 无法连接到 Airflow 中的 sftp 并接收未知名称或服务
- prometheus - 如何在 prometheus 配置中重新标记 ECS cadvisor 标签?
- numpy - ValueError:当我尝试在 python3 中导入 numpy 时,没有足够的值来解包(预期为 2,得到 1)
- python - 从一组数据框中的每列的每个单元格中创建具有最大值的新数据框