@TOC
代码实现人民币和美元的相互换算
import requests
from lxml import etree
from time import sleep
class trans_rate:
def __init__(self):
self.headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Safari/537.36',
'referer': 'https://pos.baidu.com/'
}
def parse(self,parse_url):
response = requests.get(parse_url,headers=self.headers)
result = etree.HTML(response.text).xpath('//td/p/text()')[-1]
# print(result)
return result
def quit(self):
if input("输入1重新换算,或者点击回车键用以退出").strip()== '1':
print('\n'*2)
return self.run()
else:
pass
def get_url(self):
input1 = input("输入你要选择的兑换的汇率对象(默认为人民币换算成美元):" + "\n" + "\t" + " 输入1选择美元换算至人民币,\n\t 其余任意值为人民币换算至美元!\n")
money = input("输入需要换算的金额:").strip()
if input1 == '1':
url = "https://qq.ip138.com/hl.asp?from=USD&to=CNY&q={}".format(money)
print("当前为美元换算成人民币:")
else:
url = "https://qq.ip138.com/hl.asp?from=CNY&to=USD&q={}".format(money)
print("当前为人民币换算成美元:")
return url
def current_rate(self):
res1 = requests.get("https://qq.ip138.com/hl.asp?from=USD&to=CNY&q=1", headers=self.headers).text
a = etree.HTML(res1).xpath("//td[2]/p/text()")[1]
print("当前美元对人民币的汇率为:1美元 = " + a + "元人民币")
def run(self):
self.current_rate()
url =self.get_url()
res = self.parse(url)
print(res)
# sleep(2)
print('\n')
self.quit()
if __name__ == '__main__':
tr = trans_rate()
tr.run()