小工具 本来这么晚是不准备写博客的,当是想到了那个狗子绝对会在开学的时候跟我逼逼这个事情,所以,还是老老实实地写一下吧。 Baidu统计API的使用 系统环境: Python2 requests库:发出请求 json库:json处理 getSiteList的使用 官方文档在此,说实话,这是我使用百BaiduAPI最坑的一次,在这个官方文档的getSiteList中,完全不告诉你请求参数是什么。 首先,需要获得百度统计API的token,在这里写了token获得的流程。 # encoding=utf-8 import requests import json siteLis 在本文中,我们将探讨如何使用Python来获取百度统计API的数据,并结合邮件服务将这些数据发送出去。这是一个实用的工具,特别是在需要定期监控网站流量或分析数据时。 要使用百度统计API,你需要一个有效的token。你可以通过百度提供的API文档(尽管它可能不够详细)来了解如何获取token。在Python中,你可以使用`requests`库来发送HTTP请求,并使用`json`库来处理JSON格式的数据。下面是一个简化的流程: ```python import requests import json # 获取token的URL(示例) token_url = "https://api.example.com/token" # 提供必要的认证信息 data = { "username": "你的用户名", "password": "你的密码", } # 发送POST请求以获取token response = requests.post(token_url, data=json.dumps(data)) # 解析返回的token token = response.json()["token"] ``` 接下来,使用获取到的token,你可以调用`getSiteList` API获取网站列表: ```python site_list_url = "https://api.baidu.com/json/tongji/v1/ReportService/getSiteList" data = { "header": { "username": "你的用户名", "password": "你的密码", "token": token, "Content-type": "application/json", } } # 发送请求 response = requests.post(site_list_url, data=json.dumps(data)) print(response.text) ``` 然后,你可以使用`getData` API获取特定网站的统计信息,如页面浏览量(PV)和独立访客数(UV): ```python site_id = 12914021 data = { "header": { "username": "你的用户名", "password": "你的密码", "token": token, "Content-type": "application/json", }, "body": { "site_id": site_id, "method": "trend/time/a", "start_date": "20190125", "end_date": "20190126", "metrics": "pv_count,visitor_count", }, } # 发送请求 response = requests.post(get_data_url, data=json.dumps(data)) result = json.loads(response.text) # 解析结果 pv, uv = result["body"]["data"][0]["result"]["pageSum"][0] print(f"PV: {pv}, UV: {uv}") ``` 现在你已经获得了所需的数据,可以使用Python的邮件服务发送邮件。在这个例子中,我们将使用SMTP协议和QQ邮箱。你需要在QQ邮箱设置中启用SMTP服务并获取授权码。然后,使用`smtplib`库的`SMTP_SSL`类发送邮件: ```python from email.mime.text import MIMEText from email.header import Header from smtplib import SMTP_SSL # QQ邮箱SMTP服务器 host_server = "smtp.qq.com" # 发件人和收件人的邮箱地址 send_mail = "你的QQ邮箱" receive_mail = "接收方的邮件地址" # 使用SSL登录SMTP smtp = SMTP_SSL(host_server) smtp.login("你的qq", "授权码") # 创建邮件 msg = MIMEText("这里是你的数据分析报告", "plain", 'utf-8') msg["Subject"] = Header("百度统计报告", 'utf-8') msg["From"] = send_mail msg["To"] = receive_mail # 发送邮件 smtp.sendmail(send_mail, receive_mail, msg.as_string()) smtp.quit() ``` 为了整合这两个部分,你需要将数据获取和邮件发送功能合并到一个程序中,同时根据实际需求调整参数,如日期范围、报告内容等。这可能涉及到更复杂的错误处理和日志记录,以便在出现问题时进行调试。 这个过程涉及到了Python的网络请求、JSON解析、邮件服务和简单的数据处理。在实际应用中,可以进一步封装成一个模块或者服务,以方便重复使用和维护。






















- 粉丝: 5
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 深度学习面试问题及对应《深度学习》中文版页码汇总
- TouchSocket-C#资源
- Ingenious 工作流引擎-PHP资源
- AirPower-Transformer-JavaScript资源
- com-计算机二级资源
- 毕业设计-毕业设计资源
- 人工智能ChatGPT-5:新一代语言模型的技术革新与广泛应用:性能飞跃、多模态能力及社会影响综述
- olympic_predict-美赛资源
- 2025年c语言代码-蓝桥杯资源
- assembly_learning-汇编语言资源
- 深度学习之图像分类数据集:动植物图像分类数据集(10分类)
- 小熊猫C++-C++资源
- eova-Java资源
- CnOCR-Python资源
- swift-Swift资源
- matlab学习-Matlab资源



评论0