Python如何获得百度统计API的数据并发送邮件示例代码

  


  

  

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

  


  

  

系统环境:

  

Python2
  

  
      <李>请求库:发出请求李   <李> json库:json处理李   
  

<强> getSiteList的使用
  

  

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

  

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

        #=utf - 8编码   进口的要求   进口json      siteListUrl=" https://api.baidu.com/json/tongji/v1/ReportService/getSiteList "      #这个是请求的数据   data=https://www.yisu.com/zixun/{"头":{   “用户名”:“你的用户名”,   “密码”:“你的密码”,   “令牌”:“前面所获得的令牌”,   “内容类型”:“application/json”   }   }   #把请求数据变成json数据   data=https://www.yisu.com/zixun/json.dumps(数据)      r=requests.post (url, data=数据)      #在返回的信息中包含了网站的id等等,这些官方有说明   打印r.text      

getData的使用
  

        #假设我的网站的账号是:12914021,      getDataUrl=" https://api.baidu.com/json/tongji/v1/ReportService/getData "      #请求数据如下   data=https://www.yisu.com/zixun/{"头":{   “用户名”:“你的用户名”,   “密码”:“你的密码”,   “令牌”:“前面所获得的令牌”,   “内容类型”:“application/json”   },      #这个身体的请求参数可以去参考官方说明,在这里我只是想获取pv和紫外线的数据   “身体”:{   “site_id”: 12914021,   “方法”:“趋势/时间/?   #开始统计时间   “start_date”:“20190125”,   #结束统计时间   “end_date”:“20190126”,   #获得pv和紫外线数据   “指标”:“pv_count visitor_count’   }   }      r=requests.post (getDataUrl, data=https://www.yisu.com/zixun/json.dumps(数据))   结果=json.loads (r.text)   pv_uv=结果(“身体”)(“数据”)[0]["结果"][“pageSum”] [0]   #页面浏览量   pv=pv_uv [0]   #独立访客数   紫外线=pv_uv [1]      打印pv_uv #例如[120100]      

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

  


  

  

Python2
  

  
      <李>请求库:发出请求李   <李> json库:json处理李   
  

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

        从email.mime。文本导入MIMEText   从电子邮件。头导入头   从smtplib进口SMTP_SSL      # qq邮箱smtp服务器   hostServer=' smtp.qq.com '   #发送者的邮箱   sendMail='你的QQ邮箱”   receiveMail='接收方的邮件地址”      # ssl登录   smtp=SMTP_SSL (hostServer)      #发送者的QQ,以及授权码   smtp。登录(“你的qq”、“授权码”)      #纯代表发送为文本   味精=MIMEText(“你要发送的内容”,“普通”,“utf - 8”)   #发送的标题   味精(“主题”)=标题(“帅哥的邮件”,“utf - 8”)      #发送方   味精(“的”)=sendMail   #接收方   味精”到“=receiveMail   #发送邮件   smtp。sendmail (sendmail, receiveMail msg.as_string ())   #退出   smtp.quit ()      


  

  

代码写的耦合度比较高,如果使用的话,需要根据自己的实际情况去修改

        #=utf - 8编码   导入的时间   进口的要求   进口json   从email.mime。文本导入MIMEText   从电子邮件。头导入头   从smtplib进口SMTP_SSL      #获得时间格式为:【20190125】   nowTime=trftime (“% Y % m % d”, time.localtime ())   #发送方的QQ   sendQQ=" xxx "   #接收方的邮件地址   receiveMail=" xxx "   #百度统计令牌   令牌=" xxx "   #需要查询的网站id   siteId=xxx   # qq邮箱授权码   mailCode=" xxx "         def get_pv_uv ():      dataUrl=" https://api.baidu.com/json/tongji/v1/ReportService/getData "      身体={   "头":{   “用户名”:“xxx”,   “密码”:“xxx”,   “令牌”:令牌,   “内容类型”:“application/json”   },   “身体”:{   “site_id”: siteId,   “方法”:“趋势/时间/?   “start_date”: nowTime,   “end_date”: nowTime,   “指标”:“pv_count visitor_count’   }      }      r=请求。帖子(dataUrl, data=https://www.yisu.com/zixun/json.dumps(身体))   结果=json.loads (r.text)   pv_uv=结果(“身体”)(“数据”)[0]["结果"][“pageSum”] [0]   返回pv_uv         def sendMail (pv_uv):         #邮件的正文内容   mailContent="小主,晚上好,这是昨天的统计数据,昨天的博客园一共有% s个人访问了小主你的博客,其中独立访客有% s位。\ n小主你要加油写博客哦,有朝一日,你总会成为大佬的!(* ^ __ ^ *)嘻嘻……“% (pv_uv [0], pv_uv [1])      # qq邮箱smtp服务器   hostServer=' smtp.qq.com '   sendEmail=sendQQ +“@qq.com”      # ssl登录   smtp=SMTP_SSL (hostServer)      smtp。登录(sendQQ mailCode)   味精=MIMEText (mailContent,“普通”,“utf - 8”)   味精(“主题”)=标题(“博客园统计邮件”,“utf - 8”)   味精(“的”)=sendEmail   味精”到“=receiveMail   smtp。sendmail (sendEmail receiveMail msg.as_string ())   smtp.quit ()      sendMail (get_pv_uv ())

Python如何获得百度统计API的数据并发送邮件示例代码