我正试图从这个互动图表中获取数据,该图表位于网站底部,如下所示:https://www.vgchartz.com/tools/hw_date.php?reg=USA&ending=Yearly

我在chrome中使用过开发者工具,但在"元素"选项卡中找不到数据点.

如果有人能看一下并告诉我数据点是否存储在页面上的某个地方,或者有什么方法可以使用Python,我将不胜感激

非常感谢你!

推荐答案

数据包含在该页面的<script>标签中.要解析它,可以使用js2py个库.例如:

import ast
import js2py
import requests


url = "https://www.vgchartz.com/tools/hw_date.php?reg=USA&ending=Yearly"

data = re.search(
    r"StockChart\(({.*?})\);", requests.get(url).text, flags=re.S
).group(1)

data = js2py.eval_js("data = " + data + ";")
data = ast.literal_eval(str(data))

print(data)

打印:

{
    "chart": {
        "endOnTick": False,
        "marginBottom": 90,
        "marginLeft": 80,
        "marginRight": 20,
        "renderTo": "chart_container",
        "startOnTick": False,
        "zoomType": "y",
    },
    "legend": {"enabled": True},
    "plotOptions": {"series": {"dataGrouping": {"smoothed": True}}},
    "rangeSelector": {"selected": 5},
    "series": [
        {
            "cropThreshold": 1,
            "data": [
                {"x": 1072933200000, "y": 1302609},
                {"x": 1104555600000, "y": 2604003},
                {"x": 1136091600000, "y": 5074726},
                {"x": 1167627600000, "y": 8757992},
                {"x": 1199163600000, "y": 10156740},
                {"x": 1230786000000, "y": 10369446},
                {"x": 1262322000000, "y": 8434877},
                {"x": 1293858000000, "y": 4335275},
                {"x": 1325394000000, "y": 2164269},
                {"x": 1357016400000, "y": 600849},
            ],


...

Python相关问答推荐

如何标记Spacy中不包含特定符号的单词?

C#使用程序从Python中执行Exec文件

我们可以为Flask模型中的id字段主键设置默认uuid吗

梯度下降:简化要素集的运行时间比原始要素集长

利用Selenium和Beautiful Soup实现Web抓取JavaScript表

Python导入某些库时非法指令(核心转储)(beautifulsoup4."" yfinance)

需要帮助重新调整python fill_between与数据点

如何使用两个关键函数来排序一个多索引框架?

Python Pandas—时间序列—时间戳缺失时间精确在00:00

为什么我的sundaram筛这么低效

在二维NumPy数组中,如何 Select 内部数组的第一个和第二个元素?这可以通过索引来实现吗?

在numpy数组中寻找楼梯状 struct

递归函数修饰器

如何强制向量中的特定元素在Gekko中处于优化解决方案中

按条件计算将记录拆分成两条记录

用0填充没有覆盖范围的垃圾箱

无法在盐流道中获得柱子

在聚合中使用python-polars时如何计算模式

将数据从一个单元格保存到Jupyter笔记本中的下一个单元格

按列表分组到新列中