全国服务热线:18888889999
在线报名
欧陆注册CURRICULUM
欧陆资讯 NEWS CENTER
联系我们 CONTACT US
手机:
18888889999
电话:
0898-66889888
邮箱:
admin@youweb.com
地址:
海南省海口市玉沙路58号
欧陆资讯
你的位置: 首页 > 欧陆资讯
Python获取美元人民币实时汇率
2023-09-29 02:36:42 点击量:

本文介绍如何如使用Python3获取美元人民币实时汇率。


经过查找分析多种数据渠道,我们最终选定使用和讯外汇的行情数据。其网页地址为

http://quote.forex.hexun.com/USDCNY.shtml

通过监测http,得到其api接口为

http://webforex.hermes.hexun.com/forex/quotelist?code=FOREXUSDCNY&column=Code,Name,DateTime,Price,Amount,Volume,LastClose,Open,High,Low,UpDown,UpDownRate,Speed,PriceWeight,AveragePrice,OpenTime,CloseTime,EntrustRatio,EntrustDiff,OutVolume,InVolume,ExchangeRatio,TotalPrice,LastSettle,SettlePrice,BuyPrice,BuyVolume,SellPrice,SellVolume,VolumeRatio,PE,LastVolume,LastCount,LastInOut,VibrationRatio,Total,DealCount,OpenPosition,ClosePosition,PositionDiff,LastPositions,AddPosition,OpenInterest 

经分析并简化,只需要以下字段即可

http://webforex.hermes.hexun.com/forex/quotelist?code=FOREXUSDCNY&column=Code,Price

其返回的数据为

({"Data":[[["USDCNY",65500]]]});


很简单,先取数据,再正则提取,最后字典里取值。

代码如下

# -*- coding: utf-8 -*-
# @Author: fangbei
# @Date:   2017-08-26

import re
import json
import urllib.request

url = "http://webforex.hermes.hexun.com/forex/quotelist?code=FOREXUSDCNY&column=Code,Price"
req = urllib.request.Request(url)
f = urllib.request.urlopen(req)
html = f.read().decode("utf-8")
print(html)

s = re.findall("{.*}",str(html))[0]
sjson = json.loads(s)

USDCNY = sjson["Data"][0][0][1]/10000
print(USDCNY)