欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

利用Python中的Xpath實(shí)現(xiàn)一個(gè)在線匯率轉(zhuǎn)換器

 更新時(shí)間:2020年09月09日 10:17:25   作者:王小王-123  
這篇文章主要給大家介紹了關(guān)于如何利用Python中的Xpath實(shí)現(xiàn)一個(gè)在線匯率轉(zhuǎn)換器的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

前言

在之前的語(yǔ)法里面,我們記得有一個(gè)初識(shí)Python之匯率轉(zhuǎn)換篇,在那個(gè)程序里面我們發(fā)現(xiàn)可以運(yùn)用一些基礎(chǔ)的語(yǔ)法寫一個(gè)匯率計(jì)算,但是學(xué)到后面的小伙伴就會(huì)發(fā)現(xiàn)這個(gè)小程序有一定的弊端。

首先,它不可以實(shí)時(shí)的獲取匯率的值,每次都需要我們自己去定義一個(gè)匯率轉(zhuǎn)換值,這個(gè)就會(huì)顯得不是很智能,有點(diǎn)機(jī)械,所以我們這一個(gè)利用爬蟲(chóng)爬取一個(gè)網(wǎng)址里面的匯率值(一直在更新的),這里我們利用Xpath來(lái)獲取這個(gè)數(shù)據(jù)值

其次我們發(fā)現(xiàn)在之前的程序里面,我們好像只能輸入兩位數(shù)的貨幣數(shù)據(jù),這一次我們通過(guò)正負(fù)索引的方法,只獲取除了最后三個(gè)單位的之外的數(shù)據(jù)即可,靈活的運(yùn)用,然后輸出最后帶入單位,最后讓輸出個(gè)更加的美觀和直接。

下面我們來(lái)看看爬蟲(chóng)數(shù)據(jù)的代碼

首先我們看看這個(gè)網(wǎng)址,我們來(lái)解析一下這個(gè)網(wǎng)頁(yè)的數(shù)據(jù)頁(yè)面

導(dǎo)入庫(kù)和爬取數(shù)據(jù)

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)#打印狀態(tài)碼
  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("實(shí)時(shí)匯率為:{}".format(USD_VS_RMB_1))

這里的Xpath語(yǔ)法規(guī)則,大家可以移步于初識(shí)爬蟲(chóng)之Xpath語(yǔ)法篇看看,其實(shí)一條語(yǔ)句就可以解決,非常的方便。

轉(zhuǎn)換程序代碼

 currency_str_value = 0
  while currency_str_value != "":
    USD_VS_RMB = float(str(USD_VS_RMB_1))
    # 輸入帶單位的貨幣金額
    currency_str_value = input('請(qǐng)輸入帶單位貨幣的金額: ')
    # 獲取貨幣單位
    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定義函數(shù)
      convert_currency2 = lambda x: x * exchange_rate
      # 調(diào)用lambda函數(shù)
      out_money = convert_currency2(in_money)
      print('轉(zhuǎn)換后的金額是:{} {} '.format(round(out_money), string))
    else:
      print('無(wú)法計(jì)算')

其實(shí)里面沒(méi)有什么難點(diǎn),只是對(duì)于一些語(yǔ)法不夠熟練的小伙伴來(lái)說(shuō)有一點(diǎn)難,不過(guò)多看幾次就好了

下面我們來(lái)看看演示效果

全部代碼

# -*- coding : utf-8 -*-
# @Time   : 2020/9/8 12:37
# @author  : 王小王
# @Software : PyCharm
# @File   : 匯率實(shí)時(shí)計(jì)算.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)#打印狀態(tài)碼
  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("實(shí)時(shí)匯率為:{}".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('請(qǐng)輸入帶單位貨幣的金額: ')
    # 獲取貨幣單位
    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定義函數(shù)
      convert_currency2 = lambda x: x * exchange_rate
      # 調(diào)用lambda函數(shù)
      out_money = convert_currency2(in_money)
      print('轉(zhuǎn)換后的金額是:{} {} '.format(out_money, string))
    else:
      print('無(wú)法計(jì)算')

Get_huilv(url, headers)

總結(jié)

到此這篇關(guān)于利用Python中的Xpath實(shí)現(xiàn)一個(gè)在線匯率轉(zhuǎn)換器的文章就介紹到這了,更多相關(guān)Python Xpath實(shí)現(xiàn)在線匯率轉(zhuǎn)換器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python多線程的使用詳情

    Python多線程的使用詳情

    這篇文章主要介紹了Python多線程的使用詳情,線程之間執(zhí)行是無(wú)序的,cpu調(diào)度哪個(gè)線程就執(zhí)行哪個(gè)線程,下文相關(guān)介紹需要的小伙伴可以參考一下
    2022-04-04
  • 解決pip安裝報(bào)錯(cuò)required?to?install?pyproject.toml-based?projects問(wèn)題

    解決pip安裝報(bào)錯(cuò)required?to?install?pyproject.toml-based?projec

    這篇文章主要介紹了解決pip安裝報(bào)錯(cuò)required?to?install?pyproject.toml-based?projects問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Python實(shí)現(xiàn)以主程序的形式執(zhí)行模塊

    Python實(shí)現(xiàn)以主程序的形式執(zhí)行模塊

    這篇文章主要介紹了Python實(shí)現(xiàn)以主程序的形式執(zhí)行模塊,首先創(chuàng)建一個(gè)以christmastree的命名的模塊并定義一個(gè)全局變量創(chuàng)建一個(gè)名稱為fun_christmastree()的函數(shù)展開(kāi)詳情,感興趣的朋友可以參考一下
    2022-06-06
  • python基礎(chǔ)之reverse和reversed函數(shù)的介紹及使用

    python基礎(chǔ)之reverse和reversed函數(shù)的介紹及使用

    我們?cè)谡碣Y料的時(shí)候,有的時(shí)候過(guò)于混亂難以整理,這時(shí)我們不妨可以對(duì)它先進(jìn)行一個(gè)排序,這樣可以方便我們?yōu)g覽,查詢,有利于我們整理資料,下面這篇文章主要給大家介紹了關(guān)于python基礎(chǔ)之reverse和reversed函數(shù)的介紹及使用,需要的朋友可以參考下
    2022-12-12
  • Python序列之list和tuple常用方法以及注意事項(xiàng)

    Python序列之list和tuple常用方法以及注意事項(xiàng)

    這篇文章主要介紹了Python序列之list和tuple常用方法以及注意事項(xiàng),sequence(序列)是一組有順序的對(duì)象的集合,序列可以包含一個(gè)或多個(gè)元素,也可以沒(méi)有任何元素,序列有兩種:list (表) 和 tuple(元組),需要的朋友可以參考下
    2015-01-01
  • Python機(jī)器學(xué)習(xí)之Kmeans基礎(chǔ)算法

    Python機(jī)器學(xué)習(xí)之Kmeans基礎(chǔ)算法

    這篇文章主要介紹了Python機(jī)器學(xué)習(xí)之Kmeans基礎(chǔ)算法,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • 關(guān)于opencv讀取和寫入路徑有漢字的處理方式

    關(guān)于opencv讀取和寫入路徑有漢字的處理方式

    這篇文章主要介紹了關(guān)于opencv讀取和寫入路徑有漢字的處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Python flashtext文本搜索和替換操作庫(kù)功能使用探索

    Python flashtext文本搜索和替換操作庫(kù)功能使用探索

    本文將深入介紹Python flashtext庫(kù),包括其基本用法、功能特性、示例代碼以及實(shí)際應(yīng)用場(chǎng)景,以幫助大家更好地利用這個(gè)有用的工具
    2024-01-01
  • 學(xué)習(xí)Django知識(shí)點(diǎn)分享

    學(xué)習(xí)Django知識(shí)點(diǎn)分享

    在本篇文章里小編給大家整理的是關(guān)于學(xué)習(xí)Django的一些心得知識(shí)點(diǎn),對(duì)此有興趣的朋友們可以參考下。
    2019-09-09
  • Win10系統(tǒng)下Pytorch環(huán)境的搭建過(guò)程

    Win10系統(tǒng)下Pytorch環(huán)境的搭建過(guò)程

    今天給大家?guī)?lái)的是關(guān)于Python的相關(guān)知識(shí),文章圍繞著Win10系統(tǒng)Pytorch環(huán)境搭建過(guò)程展開(kāi),文中有非常詳細(xì)的介紹及圖文示例,需要的朋友可以參考下
    2021-06-06

最新評(píng)論