如何用Python或R读取动态网页HTML并自动化抓取Investing.com经济日历表格
用R抓取Investing.com今日经济日历数据
我之前刚好做过类似的需求,用rvest和dplyr两个包就能轻松搞定默认标签页的今日经济日历数据,完整的实现代码和说明如下:
完整代码
library(rvest) library(dplyr) # 读取经济日历网页 Econ_webpage <- read_html("https://www.investing.com/economic-calendar/") # 抓取并整理表格数据 Indicators <- Econ_webpage %>% html_nodes("#economicCalendarData") %>% # 定位到目标表格节点 html_table(fill = TRUE) %>% # 将HTML表格转换为数据框,fill参数处理单元格不规整的情况 .[[1]] %>% # 取出列表中的第一个数据框(页面中只有一个目标表格) .[-(1:3), ] %>% # 移除前3行冗余的表头信息(根据页面结构调整行数) select(-c(某列名1, 某列名2)) # 按需移除不需要的列,替换成实际列名或列索引
代码说明
- 加载依赖包:
rvest负责网页的解析和数据抓取,dplyr用于便捷的数据清洗和筛选 - 定位表格:
#economicCalendarData是页面中经济日历表格的ID选择器,直接定位更精准 - 清洗数据:页面返回的表格前3行通常是重复的表头或说明信息,所以用
.[-(1:3), ]移除;后续的select(-c(...))可以根据你的需求删除不需要的列,比如一些无关的状态列 - 注意事项:如果后续网站的HTML结构发生变化,可能需要重新用浏览器开发者工具检查表格的选择器,调整
html_nodes里的参数
内容的提问来源于stack exchange,提问作者user3612816
相关产品推荐
相关产品推荐

