【爬虫】爬取中国银行货币信息存入excel并生成折线图
1、爬取网站table 中的信息 存入二维数组
2、把二维数组中的信息存入到excel表中
3、读取数组中的信息生成折线图
代码如下:
#demo1
import urllib.request
from bs4 import BeautifulSoup
import xlwings as xw
import matplotlib.pyplot as plt#支持中文
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
#打开中国银行的网址
htm = urllib.request.urlopen('https://www.bankofchina.com/sourcedb/whpj/')wb = xw.Book("demo.xlsx") #建立excel表连接
sht = wb.sheets["sheet1"] #实例化工作表对象
# 200表示成功了
# print(htm.getcode())
# print (len(htm.read()))
print("==============")
#解析网页
soup = BeautifulSoup(htm, "html.parser", from_encoding="utf-8")
link_node = soup.find_all('table')
link_node = link_node[1].find_all('tr')# print(len(link_node[1])) // 有问题,不符合范围
link_ary = []
for i in range(len(link_node)):col = []for j in range(8):col.append(0)link_ary.append(col)
#把读取的网页表格中的信息存入到二维数组
for i in range(len(link_node)):for j in range(8):if i == 0:#存入到excel的方式,编码方式可能会出问题# sht.range(str(chr(65 + j)) + '1').value = link_node[i].find_all('th')[j].textlink_ary[i][j] = link_node[i].find_all('th')[j].textelse:if link_node[i].find_all('td')[j].text == '':link_ary[i][j] = '0'else:link_ary[i][j] = link_node[i].find_all('td')[j].textprint('成功爬取数据')
#把数组的数据存入到excel
sht.range('A1').expand('table').value = link_ary#读取excel(二维数组) 数据生成折线图
# print(sht.range('A1:B2').value)plt.xlabel('(银行外汇牌价)')
plt.ylabel('(货币名称)')
for i in range(1,len(link_ary)):x = [1,3,5,7,9] #控制距离y = []for j in range(1, 6): #注意下标y.append(float(link_ary[i][j]))plt.plot(x, y, label='y ='+link_ary[i][0]) #标签没显示成功#坐标值修改为文字
ary = ['现汇买入价','现钞买入价','现汇卖出价','现钞卖出价','中行折算价']
plt.xticks(x, ary)
plt.show()
print('折线图生成成功')
出现的问题和解决方法:
1、python如何获取标签中的内容
2、int 转换 字符的问题(invalid literal for int() with base 10)
3、图形坐标值如何改为文字
另一篇
4、绘制折线图
5、与excel 的交互 xlwing
【爬虫】爬取中国银行货币信息存入excel并生成折线图相关推荐
- python爬取二手房库存,存数据库,生成折线图(下)
python爬取二手房库存,存数据库,生成折线图(下) 数据库有了房价的多阶段价格后,即可生成折线图.默认我的数据库已经有很多天的数据了 进入html页面的时候,默认加载房价走势图 在vue 的mou ...
- Python POST 爬虫爬取掘金用户信息
Python POST 爬虫爬取掘金用户信息 1. 概述 Python第三方库requests提供了两种访问http网页的函数,基于GET方式的get()函数和基于POST方式的post()函数. g ...
- 小爬虫爬取小猫咪图片并存入本地文件夹
小爬虫爬取小猫咪图片并存入本地文件夹 本人是安徽工业大学电气与信息工程学院研一学生,最近还不能开学真的是很糟心哦,由于自己比较笨吧,起步较晚还要忙着学习机器学习还有计算机视觉,但是总学这个感觉很闷也没 ...
- java爬虫拉勾网_[Java教程]node.js爬虫爬取拉勾网职位信息
[Java教程]node.js爬虫爬取拉勾网职位信息 0 2017-03-14 00:00:21 简介 用node.js写了一个简单的小爬虫,用来爬取拉勾网上的招聘信息,共爬取了北京.上海.广州.深圳 ...
- 深圳python爬虫培训南山科技园钽电容回收_记一次python 爬虫爬取深圳租房信息的过程及遇到的问题...
为了分析深圳市所有长租.短租公寓的信息,爬取了某租房公寓网站上深圳区域所有在租公寓信息,以下记录了爬取过程以及爬取过程中遇到的问题: 爬取代码: import requests from reques ...
- python解决租房问题_记一次python 爬虫爬取深圳租房信息的过程及遇到的问题
为了分析深圳市所有长租.短租公寓的信息,爬取了某租房公寓网站上深圳区域所有在租公寓信息,以下记录了爬取过程以及爬取过程中遇到的问题: 爬取代码: import requests from reques ...
- 爬虫:爬取某个商品的历史价格并绘制折线图
目的:爬取某商品的历史价格并绘制折线图 淘宝是没有把历史价格放在前端网页上的,而京东可以找到历史价格,但没有对应的日期.所以我是从专门的历史价格比较网爬取数据,这里推荐的是过客网.在F12F_{12} ...
- python爬虫爬取豆瓣电影信息城市_Python爬虫入门 | 2 爬取豆瓣电影信息
这是一个适用于小白的Python爬虫免费教学课程,只有7节,让零基础的你初步了解爬虫,跟着课程内容能自己爬取资源.看着文章,打开电脑动手实践,平均45分钟就能学完一节,如果你愿意,今天内你就可以迈入爬 ...
- 简单爬虫,爬取天猫商品信息
前言 这是我第一次用Java来写爬虫项目,研究的也不是很透彻,所以爬虫技术的理论方面的就不说太多了. 主要还是以如何爬取商品信息为主,爬取最简单的商品信息,给出大概的思路和方法. 对于没有反爬技术的网 ...
最新文章
- Android媒体播放框架MediaSessionCompat介绍实践
- 命名实体识别遇到的问题
- RMI、JNDI、LDAP介绍+log4j漏洞分析
- arch linux网络配置,关于archlinux网络的 配置
- js获取int类型长度_js代码比较大小前需要把string转换int
- Alibaba Cloud Linux 2 开源后又有什么新动作?
- [转载] Java 语言中的实例初始化块 ( IIB) 详解
- MySQL中视图和触发器学习
- 新版 Windows 10 最佳功能预览,五月即将更新
- 大道至简阅读笔记06
- 如何快速教妹子学Python?这个方法火了!
- 一个软件,internal version 和external version, 安装有问题
- 29. 数组中出现超过一半的数字(C++版本)
- SpringMVC项目搭建及遇到的问题
- 老主板BIOS不识别nvem固态硬盘,修改BIOS添加nvme驱动
- Web前端页面劫持和反劫持
- Django Ajax文件下载
- AXI Memory-Mapped SRIO收发控制器
- 如何使用ListView分页
- 【UDEV】 网卡MAC地址自动设置
热门文章
- H3C option43配置
- 诚邀各界人士共赏--2011年百度运维部迎新生晚会
- 一级指针赋值与二级指针赋值
- error:could not build wheels for word2vec, which is required to install pyproject.toml-based project
- IPD体系模型理解(1):职能完整,协同全面
- 102-RTKLIB中的相位解缠
- 2018年度旅游抽样调查资料
- shell脚本学习(三),android 文件系统
- 采访360创始人周鸿祎:如果安全性不够,数字化转型升级的过程就是在”裸奔”...
- 手机到底该怎么充电?想不到和之前自己了解的都不一样,涨知识了