python教程

Python实时爬取汇率价格+PushPlus推送

python教程 51源码 2024-01-24 人阅读
import sys
import requests
import numpy as np
from bs4 import BeautifulSoup 
 
# PushPlus推送模块
def pushplus(_item, _message):
    token = 'xxxxxxxxx'  #填入你的
    api = 'http://www.pushplus.plus/send'
    _d = {
        "token": token,
        "title": _item,
        "content": _message,
        "template": "markdown" #使用markdown格式
    }
    req = requests.post(api, data=_d)
 
#爬取模块
id=['fx_susdcny','fx_susdcnh','globalbd_gcny10','gds_AUTD']
#gds_AUTD,黄金延期
#globalbd_gcny10,10年国债收益率
#fx_susdcny,在岸人民币
#fx_susdcnh,离岸人民币
np={}
url='http://hq.sinajs.cn/list='
referer='https://finance.sina.com.cn/'
headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.72 Safari/537.36 Edg/90.0.818.41','referer': referer}
#headers={'referer':'https://finance.sina.com.cn/'}
i=1
for id in id:
        r=requests.get(url+id,headers=headers)
        r.raise_for_status()
        r.encoding = r.apparent_encoding
        soup=BeautifulSoup(r.text,'html.parser')
        a=soup.string.strip().replace('"',',').split(',')
        np[i]=a
        #print(soup)
        i=i+1
         
#print(np)
 
#使用markdown格式
num2="{:.2%}".format(float(np[2][9])/float(np[2][4])-1)
desp="> ### **离岸人民币(USDCNH)**"+'\n'+"###### "+np[2][18]+" "+np[2][1]+'\n'+"##### 现价:"+np[2][9]+"  昨收:"+np[2][4]+"  涨幅:"+num2+'\n'+"##### 今开:"+np[2][6]+"  最高:"+np[2][7]+"  最低:"+np[2][8]+'\n'+ "- - - - \n"+"\n"
num1="{:.2%}".format(float(np[1][9])/float(np[1][4])-1)
desp=desp+"> ### **在岸人民币(USDCNY)**"+'\n'+"###### "+np[1][18]+" "+np[1][1]+'\n'+"##### 现价:"+np[1][9]+"  昨收:"+np[1][4]+"  涨幅:"+num1+'\n'+"##### 今开:"+np[1][6]+"  最高:"+np[1][7]+"  最低:"+np[1][8]+'\n'+ "- - - - \n"+"\n"
num3="{:.2%}".format(float(np[3][4])/float(np[3][3])-1)
desp=desp+"> ### **中国10年期国债收益率(GCNY10)**"+'\n'+"###### "+np[3][13]+" "+np[3][14]+'\n'+"##### 现价:"+np[3][4]+"  昨收:"+np[3][3]+"  涨幅:"+num3+'\n'+"##### 今开:"+np[3][2]+"  最高:"+np[3][5]+"  最低:"+np[3][6]+'\n'+ "- - - - \n"+"\n"
num4="{:.2%}".format(float(np[4][1])/float(np[4][8])-1)
desp=desp+"> ### **黄金延期(AUTD)**"+'\n'+"###### "+np[4][13]+" "+np[4][7]+'\n'+"##### 现价:"+np[4][1]+"  昨收:"+np[4][8]+"  涨幅:"+num4+'\n'+"##### 今开:"+np[4][9]+"  最高:"+np[4][5]+"  最低:"+np[4][6]+'\n'+ "- - - - \n"+"\n"
 
#推送
#print(desp)
pushplus("📈金融资产价格💰",desp)


版权声明:文章搜集于网络,如有侵权请联系本站,转载请说明出处:https://www.51yma.cn/jiaocheng/python/1431.html
文章来源:
标签 python爬虫