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

能否用Python获取特定网站图表数据?以JEPX站点为例

使用Python获取网站图表数据的方案

一、通用可行性

当然可以用Python获取特定网站的图表数据,核心思路分两种场景:

  • 如果图表数据是通过后端API接口直接返回(比如JSON格式),用requests这类HTTP库直接请求接口就能拿到原始数据,效率最高;
  • 如果图表是前端通过JS动态渲染(数据嵌入在页面脚本或需加载后生成),可以用selenium/playwright这类浏览器自动化工具模拟页面加载,再提取数据。

二、针对目标站点的具体实现

1. 用requests直接提取数据

该页面的图表数据通常嵌入在页面的JavaScript变量中,步骤如下:

  • 发送GET请求获取页面源码:
import requests
import re
import json

url = "https://www.jepx.jp/electricpower/market-data/spot/bid_curves.html"
response = requests.get(url)
response.encoding = "utf-8"
html = response.text
  • 用正则匹配页面中的数据变量(需根据页面实际JS结构调整正则):
pattern = re.compile(r'var\s+bidCurveData\s*=\s*(\{.*?\});', re.DOTALL)
match = pattern.search(html)
if match:
    data_json = json.loads(match.group(1))
    print(data_json)  # 此处即为图表原始数据

2. 用selenium提取数据

如果页面存在动态加载逻辑,用selenium模拟浏览器加载后提取:

from selenium import webdriver
import json

driver = webdriver.Chrome()
driver.get("https://www.jepx.jp/electricpower/market-data/spot/bid_curves.html")

# 等待页面加载完成,可根据实际情况调整等待逻辑
driver.implicitly_wait(10)

# 执行JS获取页面中的数据变量
data = driver.execute_script("return bidCurveData;")
print(json.dumps(data, indent=2))

driver.quit()

三、查找原始数据来源

你可以通过以下方式定位原始数据的来源:

  • 打开目标页面按F12进入开发者工具,切换到Network标签;
  • 刷新页面,筛选XHR/Fetch类型的请求,查看返回的JSON数据,找到与图表匹配的接口,该接口即为原始数据来源;
  • 此外,该官方站点通常会提供数据下载入口(如CSV/Excel格式),可在页面导航栏或图表下方寻找「ダウンロード」(下载)按钮,直接获取结构化数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 03:22:40