看到那些大佬花里胡哨的一大串爬虫代码,如何简单粗暴的得到全国疫情实时数据,这个代码很简单
# -- coding: utf-8 --
import requests
import json
import datetime
import time
def sleeptime(hour,min,sec):
return hour*3600 + min*60 + sec;
second = sleeptime(0,30,0);
while (1):
#疫情API
json_text = requests.get("https://tianqiapi.com/api?version=epidemic&appid=88239943&appsecret=3oPsPEGO", params={'appid':'88239943' ,'appsecret':'3oPsPEGO'}).content
# 取出疫情API json格式里的部分数据
data = json.loads(json_text)
city=data['data']['list']
city_t=str(city)
city_o=city_t.replace('[',' ').replace(',','\n ')
#area=data['data']['area']['cityName']
print(city_o)
# print(area)
time.sleep(second)
break
就20行不到【滑稽保命】,到这里,就可以得到如图的实时疫情
接下来把得到的实时消息通过微信接口发送消息提醒我
def get_access_token():
"""
获取微信全局接口的凭证(默认有效期俩个小时)
如果不每天请求次数过多, 通过设置缓存即可
"""
result = requests.get(
url="https://api.weixin.qq.com/cgi-bin/token",
params={
"grant_type": "client_credential",
"appid": "wx450e3952737015c9",
"secret": "fa48630f7473044b648a5cd18d2e4b0e",
}
).json()
if result.get("access_token"):
access_token = result.get('access_token')
else:
access_token = None
return access_token
def sendmsg(openid,msg):
access_token = get_access_token()
response = requests.post(
url="https://api.weixin.qq.com/cgi-bin/message/custom/send",
params={
'access_token': access_token
},
data=bytes(json.dumps(body, ensure_ascii=False), encoding='utf-8')
)
# 这里可根据回执code进行判定是否发送成功(也可以根据code根据错误信息)
result = response.json()
print(result)
if __name__ == '__main__':
sendmsg('weixin ID',send_data) #用户ID
# sendmsg('oLV7xszi0ZHJfP1RhAYAnpJ638oQ',send_data)
time.sleep(second);