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

如何web scrape Worldometer图表获取新冠7日移动平均病例及死亡数据

可行实现方案

方案一:直接提取页面内置图表数据(推荐,无需模拟交互)

你要的7日移动平均值根本不需要模拟点击、悬停操作,Worldometers的页面用Highcharts渲染图表,所有数据都直接硬编码在页面的JS配置里,直接提取就行:

  • 用requests(Python)或其他HTTP请求库请求目标页面,拿到完整HTML源码
  • 用正则表达式匹配对应图表的序列数据即可:
    • 新增确诊7日移动平均对应「Daily New Cases」图表的第二个序列
    • 新增死亡7日移动平均对应「Daily Deaths」图表的第二个序列
  • 提取到的数据已经包含完整的日期和对应平均值,直接解析成结构化数据就能用

示例Python核心代码:

import requests
import re
import json

# 此处填入你提供的目标页面地址
url = "目标页面地址"
headers = {"User-Agent": "替换为你自己的请求标识"}
resp = requests.get(url, headers=headers)
html = resp.text

# 匹配新增确诊7日平均数据块
cases_avg_pattern = re.compile(r'Daily New Cases.*?series:\s*\[(.*?)\]', re.S)
cases_series = cases_avg_pattern.search(html).group(1)
# 提取第二个序列即为7日平均数据,解析JSON后即可得到全量日期和对应数值

方案二:模拟用户交互获取

如果需要完全复现手动操作的流程,也可以用浏览器自动化工具实现:

  • 选用Playwright或Selenium工具启动浏览器实例,访问目标页面
  • 定位到对应图表的「7-day moving average」按钮,执行点击操作
  • 不需要模拟悬停读Tooltip,直接在浏览器控制台执行JS代码读取Highcharts.charts对象中的序列数据,精度远高于解析Tooltip文本

注意事项

  • 抓取时控制请求频率,避免对站点服务器造成压力
  • 建议请求头中携带明确的User-Agent标识,避免被站点拦截

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 06:57:04