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

如何用R抓取URL不变的谷歌财经多年份股票财务数据

解决R语言抓取谷歌财经全年份财务数据的问题

问题分析

你当前的代码仅抓取了谷歌财经个股概览页面的最近一期季度数据(.UulDgc节点),而完整的年度/多期财务数据需要访问专门的财务报表模块页面。

解决方案

1. 访问对应财务报表页面

谷歌财经将利润表、资产负债表、现金流量表分别放在独立的模块页面,通过URL参数module指定:

  • 利润表:module=income-statement
  • 资产负债表:module=balance-sheet
  • 现金流量表:module=cash-flow

2. 调整代码抓取全量数据

以下是抓取AAPL年度利润表的示例代码,包含反爬处理:

# 加载所需库
library(tidyverse)
library(rvest)

# 设置浏览器UA,避免被谷歌反爬拦截
user_agent <- "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36"

# 目标URL:AAPL年度利润表页面
target_url <- "https://www.google.com/finance/quote/AAPL:NASDAQ?hl=en&module=income-statement"

# 读取页面内容
finance_page <- read_html(target_url, user_agent = user_agent)

# 抓取年度财务数据表格(节点选择器需根据页面实时调整)
annual_fin_data <- finance_page %>%
  html_node("table.eKjLze") %>%
  html_table(header = TRUE)

# 查看前5行数据
head(annual_fin_data, 5)

3. 抓取季度数据

如果需要季度数据,可抓取页面内的季度表格节点:

# 抓取季度财务数据
quarterly_fin_data <- finance_page %>%
  html_node("table.PbE7ke") %>%
  html_table(header = TRUE)

head(quarterly_fin_data, 5)

关键注意事项

  • 节点选择器更新:谷歌财经页面结构可能不定期变更,需用浏览器开发者工具(F12)查看最新的表格CSS选择器(替换代码中的eKjLze/PbE7ke)。
  • 反爬限制:频繁请求会触发谷歌IP封禁,建议在循环抓取时添加Sys.sleep(2)延迟。
  • 动态加载数据:若需获取更早年份的数据(页面需滚动加载),需使用RSelenium或playwright模拟浏览器滚动操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 07:26:10