前言

在之前的语法里面,我们记得有一个初识Python之汇率转换篇,在那个程序里面我们发现可以运用一些基础的语法写一个汇率计算,但是学到后面的小伙伴就会发现这个小程序有一定的弊端。

首先,它不可以实时的获取汇率的值,每次都需要我们自己去定义一个汇率转换值,这个就会显得不是很智能,有点机械,所以我们这一个利用爬虫爬取一个网址里面的汇率值(一直在更新的),这里我们利用Xpath来获取这个数据值

其次我们发现在之前的程序里面,我们好像只能输入两位数的货币数据,这一次我们通过正负索引的方法,只获取除了最后三个单位的之外的数据即可,灵活的运用,然后输出最后带入单位,最后让输出个更加的美观和直接。

下面我们来看看爬虫数据的代码

首先我们看看这个网址,我们来解析一下这个网页的数据页面

导入库和爬取数据

import requests

from lxml import etree

headers = {

"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36"

}

url = "https://www.huilv.cc/USD_CNY/"

def Get_huilv(url, headers1):

res = requests.get(url=url, headers=headers1, timeout=2)

# print(res.status_code)#打印状态码

html = etree.HTML(res.text)

USD_VS_RMB_0 = html.xpath('//div[@id="main"]/div[1]/div[2]/span[1]/text()')

for a in USD_VS_RMB_0:

b = a

USD_VS_RMB_1 = float(b)

print("实时汇率为:{}".format(USD_VS_RMB_1))

这里的Xpath语法规则,大家可以移步于初识爬虫之Xpath语法篇看看,其实一条语句就可以解决,非常的方便。

转换程序代码

currency_str_value = 0

while currency_str_value != "":

USD_VS_RMB = float(str(USD_VS_RMB_1))

# 输入带单位的货币金额

currency_str_value = input('请输入带单位货币的金额: ')

# 获取货币单位

unit = currency_str_value[-3:].upper() # 第一次判断

if unit == 'CNY':

exchange_rate = 1 / USD_VS_RMB

string = "美元"

elif unit == 'USD':

exchange_rate = USD_VS_RMB

string = "元"

else:

exchange_rate = -1

if exchange_rate != -1:

in_money = eval(currency_str_value[0:-3])

# 使用lambda定义函数

convert_currency2 = lambda x: x * exchange_rate

# 调用lambda函数

out_money = convert_currency2(in_money)

print('转换后的金额是:{} {} '.format(round(out_money), string))

else:

print('无法计算')

其实里面没有什么难点,只是对于一些语法不够熟练的小伙伴来说有一点难,不过多看几次就好了

下面我们来看看演示效果

全部代码

# -*- coding : utf-8 -*-

# @Time : 2020/9/8 12:37

# @author : 王小王

# @Software : PyCharm

# @File : 汇率实时计算.py

# @CSDN : https://blog.csdn.net/weixin_47723732

import requests

from lxml import etree

headers = {

"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36"

}

url = "https://www.huilv.cc/USD_CNY/"

def Get_huilv(url, headers1):

res = requests.get(url=url, headers=headers1, timeout=2)

# print(res.status_code)#打印状态码

html = etree.HTML(res.text)

USD_VS_RMB_0 = html.xpath('//div[@id="main"]/div[1]/div[2]/span[1]/text()')

for a in USD_VS_RMB_0:

b = a

USD_VS_RMB_1 = float(b)

print("实时汇率为:{}".format(USD_VS_RMB_1))

currency_str_value = 0

while currency_str_value != "":

USD_VS_RMB = float(str(USD_VS_RMB_1))

# 输入带单位的货币金额

currency_str_value = input('请输入带单位货币的金额: ')

# 获取货币单位

unit = currency_str_value[-3:].upper() # 第一次判断

if unit == 'CNY':

exchange_rate = 1 / USD_VS_RMB

string = "美元"

elif unit == 'USD':

exchange_rate = USD_VS_RMB

string = "元"

else:

exchange_rate = -1

if exchange_rate != -1:

in_money = eval(currency_str_value[0:-3])

# 使用lambda定义函数

convert_currency2 = lambda x: x * exchange_rate

# 调用lambda函数

out_money = convert_currency2(in_money)

print('转换后的金额是:{} {} '.format(out_money, string))

else:

print('无法计算')

Get_huilv(url, headers)

总结

到此这篇关于利用Python中的Xpath实现一个在线汇率转换器的文章就介绍到这了,更多相关Python Xpath实现在线汇率转换器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

python汇率转换_利用Python中的Xpath实现一个在线汇率转换器相关推荐

  1. python绘图库_利用python中的绘图库绘图的方法介绍

    matplotlib是Python最著名的绘图库,本文给大家分享了利用matplotlib+numpy绘制多种绘图的方法实例,其中包括填充图.散点图(scatter plots).. 条形图(bar ...

  2. python代码物理_利用python求解物理学中的双弹簧质能系统详解

    前言 本文主要给大家介绍了关于利用python求解物理学中双弹簧质能系统的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 物理的模型如下: 在这个系统里有两个物体,它们的质 ...

  3. python共享文件权限_利用Python实现在同一网络中的本地文件共享方法

    本文利用Python3启动简单的HTTP服务器,以实现在同一网络中共享本地文件. 启动HTTP服务器 打开终端,转入目标文件所在文件夹,键入以下命令: $ cd /Users/zero/Documen ...

  4. python照片墙地图_利用python生成照片墙的示例代码

    PIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了.其官方主页为:PIL. PIL历 ...

  5. 利用python进行数据分析_利用python进行数据分析复现(1)

    一直以来,都想学习python数据分析相关的知识,总是拖拖拉拉,包括这次这个分享也是.<利用python进行数据分析 第2版>是一次无意之间在简书上看到的一个分享,我决定将很详细.一直都 ...

  6. python高斯求和_利用Python进行数据分析(3)- 列表、元组、字典、集合

    本文主要是对Python的数据结构进行了一个总结,常见的数据结构包含:列表list.元组tuple.字典dict和集合set. image 索引 左边0开始,右边-1开始 通过index()函数查看索 ...

  7. python pdf报告_利用python设计PDF报告,jinja2,whtmltopdf,matplotlib,pandas

    转自:https://foofish.net/python-crawler-html2pdf.html 工具准备 弄清楚了网站的基本结构后就可以开始准备爬虫所依赖的工具包了.requests.beau ...

  8. python计算器程序_利用Python代码编写计算器小程序

    1 importtkinter2 importtkinter.messagebox3 importmath4 classJSQ:5 6 7 def __init__(self):8 #创建主界面 9 ...

  9. python汇率转换程序_用Python里面的Xpath完成一个在线汇率转换器

    阅读本文需要3分钟 首先,它不可以实时的获取汇率的值,每次都需要我们自己去定义一个汇率转换值,这个就会显得不是很智能,有点机械,所以我们这一个利用爬虫爬取一个网址里面的汇率值(一直在更新的),这里我们 ...

最新文章

  1. ADAS关键技术剖析、应用现状以及发展趋势
  2. html文件怎么改为php,请问你们怎么将html的文件的内容改变为php
  3. oc语言和c语言,C语言及OC语言初期学习心得
  4. cut、grep和排序命令
  5. 微软解释 Edge 浏览器比 Chrome 更加安全的原因
  6. java 编写小工具 尝试 学习(六)
  7. React 错误Each child in an array or iterator should have a unique “key” prop
  8. 抽象类继承 java_java继承抽象类
  9. Webpack使用教程五(Babel)
  10. 解决Selection executes are supported only in the DbVisualizer Personal edition
  11. 复杂网络作业六:Louvain社区发现算法原理,细节以及实现
  12. dell主板恢复出厂设置_DELL(戴尔)BIOS进入及恢复默认值
  13. ubuntu ibus拼音异常
  14. 前端必备:六款CSS工具让代码充满魅力
  15. mysql(day03)
  16. 程序员如何摆脱天天CRUD这种打杂状态?
  17. 小程序真机预览图片不显示
  18. 【论文汇总】人群计数中Transformer的应用,持续更新
  19. android 拨打多个电话号码,和多号如何使用副号打电话/发短信
  20. 微型计算机点火系统的摘要,丰田汽车点火系统故障诊断与排除的毕业论文教案.doc...

热门文章

  1. c语言 条件判断函数,用Excel函数实现多个区间的条件判断
  2. 深入剖析 RabbitMQ —— Spring 框架下实现 AMQP 高级消息队列协议
  3. linux系统如何为软件升级,Linux如何升级软件版本
  4. Linux7安装系统服务,CentOs7 安装Tengine 并设置成系统服务,开机自动启动。
  5. PCB生产工艺 | 第七道主流程之阻焊
  6. 第二十三天-邮件自动发送
  7. 淘宝开放平台学习小结
  8. Qt 3D教程(四)结合Qt Quick来实现动画的效果
  9. 工作第三周 : 程序猿的出世与入世
  10. 跨境电商ERP项目孵化,亚马逊无货源一站式教学指导。