首页 > 解决方案 > 使用 Python 从动态 HighCharts 图中抓取数据

问题描述

我正在尝试从动态高图表中提取数据(用户可以选择要显示的日期范围),但到目前为止我还没有运气。(免责声明 - 我对此很陌生。哎呀!)

是我想提取降雨数据的网站。

它看起来像这样:

在此处输入图像描述

手动,我可以通过检查 Web 检查器并将相关位复制到 json 文件,然后使用 Python 脚本来转换它们来轻松完成。

然而,由于我计划提取几个降雨系列,并且对于相当多的站点,我很想自动化这个过程,这样我就可以在这里循环遍历所有站点。不幸的是,我似乎无法做到这一点。

我无法直接访问 json 文件 - 它们位于受密码保护的 API 中。

而且我尝试导航到树上的正确分支,并使用beautifulsoup,但迄今为止我做过的最好的尝试是导致一大块难以理解的字母作为汤,而对于那些我感兴趣的是。

from bs4 import BeautifulSoup
import requests
import re

html=requests.get("https://portal.mrcmekong.org/time-series/chartts=24c97a09e761497098a32687a00cf86e").text
soup=BeautifulSoup(html,'html.parser')
print(soup) 

items=soup.find_all('div',class_='highcharts-container')
print(items)

到目前为止,我一直在使用 Jupyter Notebooks 进行操作。

因此,如果您能给我任何提示,或者向我指出有用的资源,我将不胜感激。这些是我到目前为止尝试过的线程,但没有成功: 我可以从 highcharts.js 中抓取原始数据吗? 使用带有循环的漂亮汤在 Python 中抓取交互式图表 如何使用 Python 抓取图表? 如何使用 python 从网站上抓取图表?(无法让硒在这个答案中起作用)

我会非常非常感谢您的帮助!

提前致谢!

祝你有个愉快的一天!

标签: pythonseleniumweb-scrapingbeautifulsoupjupyter-notebook

解决方案


推荐阅读