抓取人民币汇率—数据来源(中国银行网站)
文章目录
- 文章导语
- 实现过程
- 文章结语
文章导语
今年暑假系里给每个同学布置了一篇学年论文,就想着怎么也得弄点数据撑撑排面吧,一开始我是不想爬的,然后就在网上各种找接口,找了半天,不是不能用就是获取的数据只是实时的,无法获得历史数据,哎,既然没办法,就只能爬了,顺便就在一个群里问了一下端口的事,然后开始准备工作,等网页分析完了,开始敲代码的时候,又看了一下手机,有个道友说tushare里面有接口,虽然tushare用了也挺多次吧,但是没发现有汇率的接口啊,我又抱着希望去看了看,果不其然,还真有。但是回头一想,网页都分析完了,干脆写完得了。二话不说,写吧!
实现过程
#! /usr/bin/env/ python
# -*- coding:UTF-8 -*-
# Author: Zhu Huarenimport requests
from lxml import etree
import time
import xlrd
from xlutils.copy import copyproxy = {'HTTP': 'HTTP://180.125.70.78:9999','HTTP': 'HTTP://117.90.4.230:9999','HTTP': 'HTTP://111.77.196.229:9999','HTTP': 'HTTP://111.177.183.57:9999','HTTP': 'HTTP://123.55.98.146:9999',}
row = 0
for n in range(1,50): # 抓取页码范围form_data = {'erectDate': '2009-07-01','nothing': '2019-07-08','pjname': '1316', # 美元兑人民币代码,修改此代码可获得其他货币兑人民币汇率'page': n,}url = 'http://srh.bankofchina.com/search/whpj/search.jsp'res = requests.post(url=url, data=form_data,proxies=proxy)html = etree.HTML(res.text)for j in range(2, 22):m_n = html.xpath('//tr[{}]/td[1]/text()'.format(j))s_e_p = html.xpath('//tr[{}]/td[2]/text()'.format(j))c_p = html.xpath('//tr[{}]/td[3]/text()'.format(j))s_e_sp = html.xpath('//tr[{}]/td[4]/text()'.format(j))c_s = html.xpath('//tr[{}]/td[5]/text()'.format(j))bank_count_p = html.xpath('//tr[{}]/td[6]/text()'.format(j))date = html.xpath('//tr[{}]/td[7]/text()'.format(j))row = row + 1workbook = xlrd.open_workbook('money.xls') # 创建工作表workbook_copy = copy(workbook) # 向工作表内追加内容worksheet = workbook_copy.get_sheet(0)worksheet.write(0, 0, '货币名称')worksheet.write(0, 1, '现汇买入价')worksheet.write(0, 2, '现钞买入价')worksheet.write(0, 3, '现汇卖出价')worksheet.write(0, 4, '现钞卖出价')worksheet.write(0, 5, '中行折算价')worksheet.write(0, 6, '发布时间')worksheet.write(row, 0, ''.join(m_n)) # 将列表格式转换为字符串worksheet.write(row, 1, ''.join(s_e_p))worksheet.write(row, 2, ''.join(c_p))worksheet.write(row, 3, ''.join(s_e_sp))worksheet.write(row, 4, ''.join(c_s))worksheet.write(row, 5, ''.join(bank_count_p))worksheet.write(row, 6, ''.join(date))workbook_copy.save('money.xls')print('第{}页爬取完成...'.format(n))
time.sleep(1)
获取数据的界面
获取的数据,我就先爬了1000多条,等用的时候再爬吧。
文章结语
最后我再说说我踩的坑吧,第一个就是在网页开发工具上复制的xpath路径竟然不能直接用,比如说这个把,复制xpath路径的时候,它会自动优化,把一些网页源码没有的节点自动补齐,当你用这个路径提取内容的时候肯定提取不出来。还有一个就是追加写入Excel,这个就不多说了吧。
总结下来一句话:
只有当你踩的坑多了,你才有机会踩下一个坑,否则你连下一个坑都见不到。
抓取人民币汇率—数据来源(中国银行网站)相关推荐
- 系统检测到您正在使用网页抓取工具访问_从网站抓取数据的3种最佳方法
halo,大家好,我是特仑苏,今天呢给大家分享一些Python从网站抓取数据的一些方法,希望可以给大家带来一些帮助! 原作者:Octoparse团队 原出处:作品文(从网站抓取数据的3种最佳方法)/网 ...
- Python 爬虫篇#笔记02# | 网页请求原理 和 抓取网页数据
目录 一. 网页请求原理 1.1 浏览网页的过程 1.2 统一资源定位符URL 1.3 计算机域名系统DNS 1.4 分析浏览器显示完整网页的过程 1.5 客户端THHP请求格式 1.6 服务端HTT ...
- 抓取百万数据,我们深扒了风口上的OYO酒店
声明:本文调查方法采用"增长工程学"理论框架.该调查与第三方均无任何利益关系,为增长黑盒独立完成,仅用于行业研究参考和学术交流. 大家好,我是增长黑盒团队的新成员Miao.最近,经 ...
- 数据抓取之数据抓取流程
公司的数据抓取系统也写了一阵子了,是时候总结下了,不然凭我的记性,过一段时间就忘的差不多了.打算写一个系列将其中踩过的坑都记录下来.暂时定一个目录,按照这个系列来写: 数据抓取流程,以公示网四川为例子 ...
- cookie追加数据_集算器 SPL 抓取网页数据
[摘要] 集算器 SPL 支持抓取网页数据,根据抓取定义规则,可将网页数据下载到在本地进行统计分析.具体定义规则要求.使用详细情况,请前往乾学院:集算器 SPL 抓取网页数据! 网站上的数据源是我们进 ...
- 爬虫抓取页面数据原理(php爬虫框架有很多 )
爬虫抓取页面数据原理(php爬虫框架有很多 ) 一.总结 1.php爬虫框架有很多,包括很多傻瓜式的软件 2.照以前写过java爬虫的例子来看,真的非常简单,就是一个获取网页数据的类或者方法(这里的话 ...
- web scraper 抓取网页数据的几个常见问题
如果你想抓取数据,又懒得写代码了,可以试试 web scraper 抓取数据. 相关文章: 最简单的数据抓取教程,人人都用得上 web scraper 进阶教程,人人都用得上 如果你在使用 web s ...
- Linux使用tcpdump抓取网络数据包示例
tcpdump是linux命令行下常用的的一个抓包工具,记录一下平时常用的方式,测试机器系统是ubuntu 12.04. tcpdump的命令格式 tcpdump的参数众多,通过man tcpdump ...
- iOS开发——网络使用技术OC篇网络爬虫-使用正则表达式抓取网络数据
网络爬虫-使用正则表达式抓取网络数据 关于网络数据抓取不仅仅在iOS开发中有,其他开发中也有,也叫网络爬虫,大致分为两种方式实现 1:正则表达 2:利用其他语言的工具包:java/Python 先来看 ...
最新文章
- 云计算对中小企业的大冲击
- 垃圾回收机制之标记压缩算法与分代算法
- C++学习笔记:(九)输入/输出流
- Linux 权限、磁盘操作命令-Linux基础环境命令学习笔记
- 【git clone 报错】fatal: unable to access ‘https://github.com/zimeng303/React.git/‘: Failed to connect
- 逐渐显示的按钮和图片上下切换
- 超越cookie - 使用DOM sessionStorage和localStorage来保存更多信
- python操作数据库的几种方法_Python操作MySQL数据库的三种方法总结
- mysql在网页上显示乱码_计算机毕设答辩时网页报错怎么办
- JavaScript 中级篇:模块化编程
- C语言 判断上三角矩阵
- hash冲突(碰撞)及解决方法
- 手机计算机数据消失了怎么恢复,手机数据丢失的恢复方法
- 泛化误差,偏差方差分解
- Flutter TextField(文本输入)使用填坑
- 论文阅读:Seg4Reg+: Consistency Learning Between Spine Segmentation and Cobb Angle Regression
- mallplus多商户商城全流程 操作文档
- 网络营销策略——4P
- 为了推动仓库无纸化操作我们做了什么?
- 如何用PS去掉照片中的路人
热门文章
- Move Hurst Computer 移动平均赫斯特指数计算
- Android Room 使用指南
- php 简转繁体,PHP_简体中文转换为繁体中文的PHP函数,感谢网友Keyes提供移植用的Delph - phpStudy...
- Sans Serif Serif Monospace
- Library auk_dspip_lib not found问题解决
- 推荐一款我自己写的房屋贷款计算器软件
- Python的 100道题目
- 左侧导航菜单 子菜单的显示隐藏效果
- Word处理控件Aspose.Words功能演示:使用 C++ 以编程方式将 Word 转换为 HTML 、MHTML
- 2022-2027年中国政府投融资平台行业发展前景及投资战略咨询报告