使用Python爬取http://www.stats.gov.cn/sj/tjgb/rkpcgb/qgrkpcgb/202302/t20230206_1902003.html中的省份以及省份人口数据的信息并做成条形图的代码
时间: 2023-07-21 16:58:55 浏览: 66
Python 条形图输出主要省份GDP排名情况 Python源码
好的,以下是使用 Python 爬取网页并制作条形图的代码:
```python
import requests
from bs4 import BeautifulSoup
import matplotlib.pyplot as plt
# 请求网页
url = 'http://www.stats.gov.cn/sj/tjgb/rkpcgb/qgrkpcgb/202302/t20230206_1902003.html'
response = requests.get(url)
# 解析网页内容
soup = BeautifulSoup(response.text, 'html.parser')
table = soup.find('table', {'class': 'MsoNormalTable'})
rows = table.find_all('tr')
# 获取省份和人口数据
provinces = []
populations = []
for row in rows[2:-1]:
cells = row.find_all('td')
province = cells[0].text.strip()
population = int(cells[1].text.strip().replace(',', ''))
provinces.append(province)
populations.append(population)
# 绘制条形图
plt.bar(provinces, populations)
plt.xticks(rotation=90)
plt.title('Population of Provinces in China')
plt.xlabel('Provinces')
plt.ylabel('Population')
plt.show()
```
这段代码首先使用 requests 模块请求网页,然后使用 BeautifulSoup 模块解析网页内容。我们找到了包含省份和人口数据的表格,然后遍历每一行获取省份和人口数据。最后使用 matplotlib 模块绘制条形图,并将省份作为 x 轴的标签,人口作为 y 轴。最后调用 `show()` 方法显示图形。
阅读全文