下面我们来看看爬虫数据的代码,首先我们看看这个网址:
https://www.huilv.cc/USD_CNY/
我们来分析一下这个网页的数据页面:
2.爬取数据
import requestsfrom 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 = 0while 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 = -1if 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 -*-# @Software : PyCharm# @File : 汇率实时计算.py# @CSDN : https://blog.csdn.net/weixin_47723732import requestsfrom 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 = 0while 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 = -1if 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)3.效果演示
下面我们来看看演示效果: