下面咱們來看看爬蟲數據的代碼,首先咱們看看這個網址:html
https://www.huilv.cc/USD_CNY/
咱們來分析一下這個網頁的數據頁面:python
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))
轉換程序代碼:bash
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('沒法計算')
其實裏面沒有什麼難點,只是對於一些語法不夠熟練的小夥伴來講有一點難,不過多看幾回就行了。函數
所有代碼:ui
# -*- coding : utf-8 -*- # @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)
下面咱們來看看演示效果:url