小工具
本来这么晚是不准备写博客的,当是想到了那个狗子绝对会在开学的时候跟我逼逼这个事情,所以,还是老老实实地写一下吧。
Baidu统计API的使用
系统环境:
Python2
getSiteList的使用
官方文档在此,说实话,这是我使用百BaiduAPI最坑的一次,在这个官方文档的getSiteList中,完全不告诉你请求参数是什么。
首先,需要获得百度统计API的token,在这里写了token获得的流程。
# encoding=utf-8import requestsimport jsonsiteListUrl = "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
在这里,我使用的是SMTP协议去发送邮件,使用的是QQ邮箱,QQ邮箱的开启,参考百度经验。
from email.mime.text import MIMETextfrom email.header import Headerfrom smtplib import SMTP_SSL# qq邮箱smtp服务器hostServer = 'smtp.qq.com'# 发送者的邮箱sendMail = '你的QQ邮箱'receiveMail = '接收方的邮件地址'# ssl登录smtp = SMTP_SSL(hostServer)# 发送者的QQ,以及授权码smtp.login('你的qq', '授权码')# plain代表发送为文本msg = MIMEText("你要发送的内容", "plain", 'utf-8')# 发送的标题msg["Subject"] = Header("帅哥的邮件", 'utf-8')# 发送方msg["From"] = sendMail# 接收方msg["To"] = receiveMail# 发送邮件smtp.sendmail(sendMail, receiveMail, msg.as_string())# 退出smtp.quit()
新闻热点
疑难解答