吴裕雄--天生自然python学习笔记:爬取我国 1990 年到 2017年 GDP 数据并绘图显示
绘制图形所需的数据源通常是不固定的,比如,有时我们会需要从网页抓取,
也可能需从文件或数据库中获取。
利用抓取网页数据技术,把我国
1990 年到 2016 年的 GDP 数据抓取出来 ,再利用 MatplotUb 进行绘图显示 。
经搜索发现, http://value500.com/M2GDP.html 网页中有我们所需数据 。
将鼠标移到表格每一行的“年份”处井右击,在弹出的快捷菜单中选择“检查”
选项。
Chrome 会打开网页开发工具,并自动显示鼠标位置的 html 程序代码,我们可根
据 html 代码来抓取表格数据 : 年份数据位于 table 中 第 1 个 td 标签中, gdp 数据们于
表格的中第 3 个 td 标签中。
爬取并绘制我国 GDP1990~2016 数据图
import requests #导入网页内容抓取包
import matplotlib.pyplot as plt #导入绘图模块,重命名为plt from bs4 import BeautifulSoup as bs #导入网页解析模块,重命名为bs
from pylab import rcParams #导入pylab包 rcParams['font.sans-serif'] = ['SimHei'] #让matplotlib支持简体中文
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") #获取所有表元素
rows = data1[19].find_all("tr") #取出包含所需数据的表(网页第20个表)
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~2017年度我国GDP") #设置图形标题
plt.xlabel("年度") #设置x轴标题
plt.ylabel("GDP(亿元)") #设置y轴标题
plt.show() #显示所绘图形 print(year)
print(gdp)
吴裕雄--天生自然python学习笔记:爬取我国 1990 年到 2017年 GDP 数据并绘图显示的更多相关文章
- 吴裕雄--天生自然python学习笔记:python用 Bokeh 模块绘制我国 GDP 数据统计图
现在我们把我国 1990 年到 2017 年的 GDP 数据抓取出 来,井用 Bokeh 绘 出散点统计图 . 由网页爬取所需数据,并用 Bokeh 绘制散点图 . import requests # ...
- 吴裕雄--天生自然python学习笔记:python 创建和操作Firebase实时数据库
Fire base 是专为移动开发提供的后端服务平台, Firebase 数据库与传统数据库不同,它不是用数据表来存储数据, 而是用 Key . Value 的字典型结构来存储数据,所以它不仅 是轻量 ...
- 吴裕雄--天生自然python学习笔记:python爬虫PM2.5 实时监测显示器
PM2.5 对人体的健康影响很大,所以空气中的 PM2.5 实时信息受到越来越多的关注. Python 的 Pandas 套件不但可以自动读取网页中的表格 数据 , 还可对数据进行修改.排序等处理,也 ...
- 吴裕雄--天生自然python学习笔记:pandas模块导入数据
有时候,手工生成 Pandas 的 DataFrame 数据是件非常麻烦的事情,所以我们通 常会先把数据保存在 Excel 或数据库中,然后再把数据导入 Pandas . 另 一种情况是抓 取网页中成 ...
- 吴裕雄--天生自然python学习笔记:pandas模块DataFrame 数据的修改及排序
import pandas as pd datas = [[65,92,78,83,70], [90,72,76,93,56], [81,85,91,89,77], [79,53,47,94,80]] ...
- 吴裕雄--天生自然python学习笔记:python 用pyInstaller模块打包文件
要想在没有安装 Python 集成环境的电脑上运行开发的 Python 程序,必须把 Python 文件打包成 .exe 格式的可执行 文件. Python 的打包工作 PyInstaller 提供了 ...
- 吴裕雄--天生自然python学习笔记:python 文件批量查找
在多个文本文件中查找 我们首先来学习文本文件的查找字符 . 我们通过 os.walk 扩大查找范围, 查找指定目录和子目录下的文件. 应用程序总览 读取 当 前目录及子目录下的所有 PY 和 txt ...
- 吴裕雄--天生自然python学习笔记:pandas模块强大的数据处理套件
用 Python 进行数据分析处理,其中最炫酷的就属 Pa ndas 套件了 . 比如,如果我 们通过 Requests 及 Beautifulsoup 来抓取网页中的表格数据 , 需要进行较复 杂的 ...
- 吴裕雄--天生自然python学习笔记:python 用pygame模块动画一让图片动起来
动画是游戏开发中不可或缺的要素,游戏中的角色只有动起来才会拥有“生命”, 但动画处理也是最让游戏开发者头痛的部分.Pygame 包通过不断重新绘制绘图窗口,短短几行代码就可以让图片动起来! 动画处理程 ...
随机推荐
- Spark核心算子
Spark RDD: Transformation Meaning map(func) 返回一个新的分布式数据集,该数据集是通过将源的每个元素传递给函数func处理形成的. filter(func) ...
- UML-什么是用例实现(场景实现)?
1.总览图 解释: 用例--->领域模型 用例+领域模型--->设计模型(仅基于领域层的交互图) 2.什么是用例实现? 基于协作对象,如何在设计模型中实现某个用例.更确切的说是实现某个用例 ...
- ZJNU 2340/2341/2343 - 罗小黑的“礼物”Ⅰ/Ⅱ/Ⅲ
把一位数.两位数.三位数……这些所在的范围分开判断 可得1~9这些数范围在[1,9]内 10~99内共有90个数,每个数占两位,所以共有180位在,范围在[10,189]内 同理,100~999内共有 ...
- Java--HashMap排序
package connection; import java.util.Collections; import java.util.Comparator; import java.util.Hash ...
- Eclipse打开,出现Initializing Java Tooling “has encountered a problem错误,而且鼠标悬停在没有导包的类上面不会出现import信息。
问题1:打开eclipse,出现了Initializing Java Tooling “has encountered a problem,点开详细信息,报的是空指针异常. 问题2:鼠标悬停在没有导包 ...
- 使用linux服务器安装wordpress博客详细教程
前言 最近读了<软技能:代码之外的生存指南>,这本书给了我很大的启示.之前虽然知道作为一个程序员,应该拥有自己的博客,以便于提升自己的知名度,但是并没有了解的过于详细.这本书描写博客的作用 ...
- Glob 模式
Glob 是什么 glob 是一种文件匹配模式,全称 global,它起源于 Unix 的 bash shell 中,比如在 linux 中常用的 mv *.txt tmp/ 中,*.txt 就使用到 ...
- textarea高度自适应解决方法
引入autosize.js <script src="./autosize.js"></script> autosize(document.getEleme ...
- Bless All
# php code $i = 2333 $myJXOI = JXOI() while($i == 2333){ ++myJXOI.score , ++myJXOI.rp , --myJXOI.常数 ...
- Python笔记_第二篇_面向过程_第二部分_3.模块的概述
这部分内容是非常重要的,分模块的基本概念和一些常用模块的使用,其实常用模块使用这部分也不是太全面,后续或者有机会再通过其他材料进行讲解. 1. 模块的概述: 目前代码比较少,写在一个文件中还体现不出什 ...