一、需求
每日获取新榜网站收藏的微信公众号对应的【点赞数、排名、头条阅读数】
二、实现-分解
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天