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

如何用R爬取网页中图表形式的每日开盘/最高/最低/收盘价数据?

爬取Avanza图表类股票数据的方法

这类图表展示的行情数据,一般不会直接嵌入在网页HTML里,而是通过后端API异步加载的,所以用rvest直接解析静态HTML拿不到数据。你可以按下面的步骤来获取:

  1. 找到数据接口
    打开浏览器开发者工具(按F12),切换到「Network」标签页,刷新目标页面后,过滤「XHR」类型的请求。在请求列表里找包含history或类似关键词的接口,就能找到返回行情数据的JSON接口。比如针对这个股票,对应的日线数据接口是https://www.avanza.se/_api/price-chart/history/476915?resolution=1D。

  2. 用R请求API并解析数据
    用httr发送请求,jsonlite解析返回的JSON数据,整理成你需要的格式:

    library(httr)
    library(jsonlite)
    library(dplyr)
    
    # 请求日线数据,resolution参数可选1D(日)/1W(周)/1M(月)
    api_url <- "https://www.avanza.se/_api/price-chart/history/476915?resolution=1D"
    response <- GET(api_url)
    raw_data <- fromJSON(content(response, "text"))
    
    # 提取并整理所需字段
    price_df <- data.frame(
      日期 = as.POSIXct(raw_data$t, origin = "1970-01-01"),
      开盘价 = raw_data$o,
      最高价 = raw_data$h,
      最低价 = raw_data$l,
      收盘价 = raw_data$c
    )
    
    # 查看前几条数据
    head(price_df)
    
  3. 注意事项

    • 不要短时间内频繁发送请求,避免触发网站的反爬机制导致IP被封
    • 网站的API接口可能会随时调整,若后续无法获取数据,需要重新在开发者工具里查找新的接口
    • 请遵守网站的使用条款和robots.txt规则

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 08:05:25