You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Selector Gadget在R中爬取Yahoo Finance的表格及URL提取问题

爬取Yahoo Finance META分析页面的问题解决

问题1&2:静态抓取缺失表格的原因

  • 出现这种差异核心原因是页面部分表格属于动态渲染内容:read_html()是静态HTML抓取工具,只能获取页面首次加载的原始代码;而Yahoo Finance把部分分析表格放在了JavaScript动态生成的模块里,静态抓取无法触发JS执行,自然拿不到这部分内容。
  • 本地保存的HTML是浏览器执行完所有JS后的完整页面,read_html_live()是模拟浏览器环境加载页面,会自动执行JS渲染动态内容,所以能抓取到全部9个表格。

问题3:提取第7、8个表格中的URL

用read_html_live()拿到完整页面后,按以下步骤提取:

  1. 先获取页面所有表格:
library(rvest)
page <- read_html_live("https://au.finance.yahoo.com/quote/META/analysis")
tables <- page |> html_elements("table")
  1. 定位第7、8个表格(R语言索引从1开始),提取其中<a>标签的href属性:
# 提取第7个表格的URL
table7_urls <- tables[[7]] |> html_elements("a") |> html_attr("href")
# 提取第8个表格的URL
table8_urls <- tables[[8]] |> html_elements("a") |> html_attr("href")
  1. 由于Yahoo的链接多为相对路径,需要补全域名:
full_table7_urls <- paste0("https://au.finance.yahoo.com", table7_urls)
full_table8_urls <- paste0("https://au.finance.yahoo.com", table8_urls)

内容的提问来源于stack exchange,提问作者shani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 15:24:52