閱讀本文需要3分鐘
首先,它不可以實時的獲取匯率的值,每次都需要我們自己去定義乙個匯率轉換值,這個就會顯得不是很智慧型,有點機械,所以我們這乙個利用爬蟲爬取乙個**裡面的匯率值(一直在更新的),這裡我們利用xpath來獲取這個資料值
其次我們發現在之前的程式裡面,我們好像只能輸入兩位數的貨幣資料,這一次我們通過正負索引的方法,只獲取除了最後三個單位的之外的資料即可,靈活的運用,然後輸出最後帶入單位,最後讓輸出個更加的美觀和直接。
下面我們來看看爬蟲資料的**
首先我們看看這個**,我們來解析一下這個網頁的資料頁面
導入庫和爬取資料
這裡的xpath語法規則,大家可以移步於初識爬蟲之xpath語法篇看看,其實一條語句就可以解決,非常的方便。import requests
from lxml import etree
headers =
url = ""
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(round(out_money), string))
else:
print('無法計算')
下面我們來看看演示效果
全部**
# -*- coding : utf-8 -*-
import requests
from lxml import etree
headers =
url = ""
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爬取資料進行匯率轉換
an highlighted block import re import json import urllib.request import pandas as pd import datetime import time 填入需要被轉換的貨幣英文縮寫 from currency cny cop ...
完成乙個MVC Nhibernate Jquery
一 最近學習了jquery easyui框架,結合之前用過的mvc3 nhibernate做乙個資訊發布系統,對工作一年半的自己做乙個總結吧!也正好 供初學者學習!二 先上截圖 系統簡介 讓大家了解一下最近做的東西 1 登入頁 系統登入後台的頁面,用的jquery easyui中 dialog功能,...
用python建模 用Python建模乙個線性系統
我知道這有點舊,但搜尋引起了我的這個問題。當我找不到乙個好的模組時,我把它放在一起。這並不多,但如果有人發現他們在這裡,這是乙個好的開始。import matplotlib.pylab as plt import numpy as np import scipy.signal def bode g,...