程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

python面试大全(3)

python前言(0)

标签  

python面试(2)

python(0)

日期归档  

我了解到的新知识之----如何使用Python获取最新外汇汇率信息

发布于2019-08-08 16:39     阅读(353)     评论(0)     点赞(3)     收藏(0)


这个需求本来是来源于公司同事工作中需求,用户需要使用数据分析工具Power BI抓取多页的中国银行官网上当天的外汇数据。但是没能研究出来。

我就开始在网络上找关于使用python来抓取当天汇率的案例分享,没想到“知乎”上有一个网友分享了以下这段代码:

复制代码
# -*- coding:utf-8 -*-
import re
from lxml import etree
import requests

url = 'http://www.boc.cn/sourcedb/whpj/index.html'  # 网址
html = requests.get(url).content.decode('utf8') #获取网页源码(中间涉及到编码问题,这是个大坑,你得自己摸索)


# 方式一:正则匹配
a = html.index('<td>美元</td>')  # 取得“美元”当前位置
s = html[a:a + 300]  # 截取美元汇率那部分内容(从a到a+300位置)
result = re.findall('<td>(.*?)</td>', s)  # 正则获取

# 方式二:lxml获取
# result=etree.HTML(html).xpath('//table[@cellpadding="0"]/tr[18]/td/text()')

#写入txt
with open('汇率.txt', 'w+') as f:
    f.write(result[0] + '\n')
    f.write('现汇买入价:' + result[1] + '\n')
    f.write('现钞买入价:' + result[2] + '\n')
    f.write('现汇卖出价:' + result[3] + '\n')
    f.write('现钞卖出价:' + result[4] + '\n')
    f.write('中行折算价:' + result[5] + '\n')
    f.write('发布时间:' + result[6] + result[7] + '\n')
复制代码

这段代码是来自于“知乎”用户“花墙”,再次感谢这位网友的分享。

运行这段代码的前提是要安装好lxml,requests两个库,当然还得安装好virtualenv这个虚拟环境。

然后就可以放心跑上面的代码了,跑完之后,会自动生成一个txt文档,打开之后就是这样:

美元
现汇买入价:670.14
现钞买入价:664.69
现汇卖出价:672.98
现钞卖出价:672.98
中行折算价:671.67
发布时间:2019-03-1710:30:00

这样就可以获取最新的实时外汇数据了,这个数据倒是很符合我个人的需求,至于同事说的要同时获取多个页面的数据,还是有待于研究的,如果有网友在这一方面愿意分享一下,那万分感谢了。

 



所属网站分类: 技术文章 > 博客

作者:骷髅无悔

链接:https://www.pythonheidong.com/blog/article/15314/b48de280cd14a4efd60a/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

3 0
收藏该文
已收藏

评论内容:(最多支持255个字符)