一、需求
每日獲取新榜網站收藏的微信公衆號對應的【點贊數、排名、頭條閱讀數】
二、實現-分解
1)獲取新榜api
打開並登錄新榜網站-數據服務-數據API
點擊試用即可,到達控制檯,你的賬號就獲得API密鑰,以及2000unit額度
2)發送HTTP請求
點擊“查看文檔”,跳轉到接口列表,這裏可以看到每種接口單次消耗unit數,選擇所需的平臺接口,我需要的是“微信-榜單-公衆號歷史榜單”
閱讀api說明以及相關參數
import requests
url_api='https://api.newrank.cn/api/sync/weixin/rank/account/day'
headers={'Key':'xxxxxxxxxxxxxxxxxxx'}
body={'account':'要查詢的微信號','from':'2019-11-03','to':'2019-11-02'}
response=requests.post(url_api,data=body,headers=headers)#請求方式:POST,Content-Type:application/x-www-form-urlencoded;charset=utf-8
response.json()
三、實現-整合
import requests
import datetime
import sys
def main(dnum):
ystday=(datetime.date.today()-datetime.timedelta(days=1)).strftime('%Y-%m-%d')#昨天
date=(datetime.date.today()-datetime.timedelta(days=int(dnum))).strftime('%Y-%m-%d')#dnum天前
url_api='https://api.newrank.cn/api/sync/weixin/rank/account/day'
headers={'Key':'xxxxxxxxxxxxxxxxxxxxxxxxx'}
def condata(account):
body={'account':account,'from':date,'to':ystday}
response=requests.post(url_api,data=body,headers=headers)#請求方式:POST,Content-Type:application/x-www-form-urlencoded;charset=utf-8
all_con=account+'\n'
for i in range(len(response.json()['data'])-1,-1,-1):
con=str(response.json()['data'][i]['articleLikesCount'])+'\t'+\
str(response.json()['data'][i]['rankPosition'])+'\t'+\
str(response.json()['data'][i]['articleClicksCountTopLine'])+'\t'+\
response.json()['data'][i]['rankDate'][0:10]+'\n'
all_con=all_con+con
return all_con
f=open(r'G:\temp files\xb.txt','w')
f.write(condata('yyyyyyyyyy')+condata('zzzzzzzz'))
f.close()
if __name__=='__main__':
try:
main(sys.argv[1])
except:
main(1)#默認昨天1天