我需要从这个图表中抓取数据,但是是表格格式.Link

问题是这个图表的 struct ,因为它有几个月的年中,我try 了一些在线刮板,但他们消耗太多的时间,有时我得到扭曲的数据.

更详细地说,我正在使用这个软件,我引用这个软件是因为它可以帮助其他像我一样的人

你建议我怎么做才能得到最好的结果,因为我需要刮掉很多这样的图表

请告诉我,我是新来的,礼貌一点,如果我必须编辑这个问题,请告诉我

推荐答案

GRAPH的数据嵌入在<script>个标记中,因此可以使用下面的示例获取它们:

import json
import re

import pandas as pd
import requests


url = "https://www.instat.gov.al/en/sdgs/no-poverty/12-by-2030-reduce-at-least-by-half-the-proportion-of-men-women-and-children-of-all-ages-living-in-poverty-in-all-its-dimensions-according-to-national-definitions/121-proportion-of-population-living-below-the-national-poverty-line-by-sex-and-age/"

html_text = requests.get(url).text

# for map data:
# map_data = re.search(r"mapData=(.*?);<", html_text).group(1)
# print(map_data)

graph_data = re.search(r"graphsDataJson=(.*?);<", html_text).group(1)
graph_data = json.loads(graph_data)

df = pd.DataFrame(graph_data[0]["indicatorDataValues"])
print(df)

打印:

   year  value
0  2017   23.7
1  2018   23.4
2  2019   23.0
3  2020   21.8

Python相关问答推荐

Python-Polars:如何用两个值的平均值填充NA?

如何确保Flask应用程序管理面板中的项目具有单击删除功能?

已删除的构造函数调用另一个构造函数

机器人与Pyton Minecraft服务器状态不和

从今天起的future 12个月内使用Python迭代

Python -Polars库中的滚动索引?

Python中的负前瞻性regex遇到麻烦

有条件地采样我的大型DF的最有效方法

使用scipy. optimate.least_squares()用可变数量的参数匹配两条曲线

如何使用Jinja语法在HTML中重定向期间传递变量?

如何比较numPy数组中的两个图像以获取它们不同的像素

如何访问所有文件,例如环境变量

Polars:用氨纶的其他部分替换氨纶的部分

在Python中动态计算范围

为什么抓取的HTML与浏览器判断的元素不同?

在vscode上使用Python虚拟环境时((env))

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

不允许访问非IPM文件夹

无法连接到Keycloat服务器

替换现有列名中的字符,而不创建新列