【Python3 爬虫学习笔记】绘制图形 2

爬取并绘制我国GDP1990~2016数据图

绘制图形所需的数据源通常是不固定的,比如,有时我们会需要从网页抓取,也可能需从文件或数据库中获取。利用网页数据抓取技术,把我国1990年到2016年的GDP数据抓取出来,再利用Matplotlib进行绘图显示。
经搜索发现,http://value500.com/M2GDP.html网页中有我们所需数据。
通过浏览器的开发者工具,查看源码可以发现:年份数据位于table中第1个td标签中,gdp数据位于表格中第3个td标签中。

import matplotlib.pyplot as plt  # 导入绘图模块,重命名为plt
import requests  # 导入网页内容抓取功能包
from bs4 import BeautifulSoup as bs  # 导入网页解析模块,重命名为bs
from pylab import *   #导入pylab包
rcParams['font.sans-serif'] = ['SimHei']   # 支持简体中文

year = []   # 横坐标列表
gdp = []   # 纵坐标列表
url = "http://value500.com/M2GDP.html"   # 设置要在哪个网页抓取数据
content = requests.get(url)   # 获取网页内容
content.encoding = 'utf-8'   # 转为utf-8编码
content1 = content.text   # 获取网页内容的text部分
parse = bs(content1, "html.parser")   # 进行html解析
data1 = parse.find_all("table")   # 进行html解析
rows = data1[19].find_all("tr")
i = 0
for row in rows:
    cols = row.find_all("td")   # 把行数据存入cols变量
    if(len(cols) > 0 and i == 0):   # 如果不是第一行,则控制变量加1
        i += 1
    else:   # 如果不是第一行,则存至绘图列表
        year.append(cols[0].text[:-2])   # 取的年份数据(数据的最后两个字符不是数值,所以要去除)并写入图形的year轴
        gdp.append(cols[2].text)   # 把GDP值存入GDP轴
plt.plot(year, gdp, linewidth=2.0)   # 绘制图形,线宽为2
plt.title("1990~2016年度我国GDP")   # 设置图形标题
plt.xlabel("年度")   # 设置x轴标题
plt.ylabel("GDP(亿元)")   # 设置y轴标题
plt.show()   # 显示所绘图形 

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/htsait4113/article/details/84638385