Python获得百度统计API的数据并发送邮件

 小工具 

本来这么晚是不准备写博客的,当是想到了那个狗子绝对会在开学的时候跟我逼逼这个事情,所以,还是老老实实地写一下吧。

 


 

 

Baidu统计API的使用

系统环境:

  • Python2
    • requests库:发出请求
    • json库:json处理

getSiteList的使用

官方文档在此,说实话,这是我使用百BaiduAPI最坑的一次,在这个官方文档的getSiteList中,完全不告诉你请求参数是什么。

首先,需要获得百度统计API的token,在这里面写了token获得的流程。

# encoding=utf-8 import requests import json  siteListUrl = "https://api.baidu.com/json/tongji/v1/ReportService/getSiteList"  # 这个是请求的数据 data = {     "header": {         'username': "你的用户名",         'password': "你的密码",         'token': '前面所获得的token',         'Content-type': 'application/json'     } } # 把请求数据变成json数据 data = json.dumps(data)  r = requests.post(url,data=data)  # 在返回的信息中包含了网站的id等等,这些官方有说明 print r.text  

getData的使用

# 假设我的网站的ID是:12914021,  getDataUrl = "https://api.baidu.com/json/tongji/v1/ReportService/getData"  # 请求数据如下 data = {     "header": {         'username': "你的用户名",         'password': "你的密码",         'token': '前面所获得的token',         'Content-type': 'application/json'     },      # 这个body的请求参数可以去参考官方说明,在这里我只是想获取pv和uv的数据     "body": {         'site_id': 12914021,         'method': 'trend/time/a',         # 开始统计时间         'start_date': '20190125',         # 结束统计时间         'end_date': '20190126',         # 获得pv和uv数据         'metrics': 'pv_count,visitor_count'     } }  r = requests.post(getDataUrl,data=json.dumps(data)) result = json.loads(r.text) pv_uv  = result["body"]["data"][0]["result"]["pageSum"][0] # 页面浏览量 pv = pv_uv[0] # 独立访客数 uv = pv_uv[1]  print pv_uv # 例如[120,100] 

此时,我们就已经获得了pv和nv的数据。

使用Python发送邮件

  • Python2
    • requests库:发出请求
    • json库:json处理

在这里,我使用的是SMTP协议去发送邮件,使用的是QQ邮箱,QQ邮箱的开启,参考百度经验

关键字:
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信