1.分析网页

下面我们来看看爬虫数据的代码,首先我们看看这个网址:

https://www.huilv.cc/USD_CNY/

我们来分析一下这个网页的数据页面:

 

用Python制作汇率转换小程序_Python

 

用Python制作汇率转换小程序_Python_02

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.效果演示

下面我们来看看演示效果:

 

用Python制作汇率转换小程序_Python_03