最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python如何獲得百度統(tǒng)計API的數(shù)據(jù)并發(fā)送郵件示例代碼

 更新時間:2019年01月27日 11:46:38   作者:段小輝  
這篇文章主要給大家介紹了關(guān)于Python如何獲得百度統(tǒng)計API的數(shù)據(jù)并發(fā)送郵件的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧

小工具

本來這么晚是不準(zhǔn)備寫博客的,當(dāng)是想到了那個狗子絕對會在開學(xué)的時候跟我逼逼這個事情,所以,還是老老實實地寫一下吧。

Baidu統(tǒng)計API的使用

系統(tǒng)環(huán)境:

Python2

  • requests庫:發(fā)出請求
  • json庫:json處理

getSiteList的使用

官方文檔在此,說實話,這是我使用百BaiduAPI最坑的一次,在這個官方文檔的getSiteList中,完全不告訴你請求參數(shù)是什么。

首先,需要獲得百度統(tǒng)計API的token,在這里寫了token獲得的流程。

# encoding=utf-8
import requests
import json

siteListUrl = "https://api.baidu.com/json/tongji/v1/ReportService/getSiteList"

# 這個是請求的數(shù)據(jù)
data = {
 "header": {
  'username': "你的用戶名",
  'password': "你的密碼",
  'token': '前面所獲得的token',
  'Content-type': 'application/json'
 }
}
# 把請求數(shù)據(jù)變成json數(shù)據(jù)
data = json.dumps(data)

r = requests.post(url,data=data)

# 在返回的信息中包含了網(wǎng)站的id等等,這些官方有說明
print r.text

getData的使用

# 假設(shè)我的網(wǎng)站的ID是:12914021,

getDataUrl = "https://api.baidu.com/json/tongji/v1/ReportService/getData"

# 請求數(shù)據(jù)如下
data = {
 "header": {
  'username': "你的用戶名",
  'password': "你的密碼",
  'token': '前面所獲得的token',
  'Content-type': 'application/json'
 },

 # 這個body的請求參數(shù)可以去參考官方說明,在這里我只是想獲取pv和uv的數(shù)據(jù)
 "body": {
  'site_id': 12914021,
  'method': 'trend/time/a',
  # 開始統(tǒng)計時間
  'start_date': '20190125',
  # 結(jié)束統(tǒng)計時間
  'end_date': '20190126',
  # 獲得pv和uv數(shù)據(jù)
  '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]
# 獨立訪客數(shù)
uv = pv_uv[1]

print pv_uv # 例如[120,100]

此時,我們就已經(jīng)獲得了pv和nv的數(shù)據(jù)。

使用Python發(fā)送郵件

Python2

  • requests庫:發(fā)出請求
  • json庫:json處理

在這里,我使用的是SMTP協(xié)議去發(fā)送郵件,使用的是QQ郵箱,QQ郵箱的開啟,參考百度經(jīng)驗。

from email.mime.text import MIMEText
from email.header import Header
from smtplib import SMTP_SSL

# qq郵箱smtp服務(wù)器
hostServer = 'smtp.qq.com'
# 發(fā)送者的郵箱
sendMail = '你的QQ郵箱'
receiveMail = '接收方的郵件地址'

# ssl登錄
smtp = SMTP_SSL(hostServer)

# 發(fā)送者的QQ,以及授權(quán)碼
smtp.login('你的qq', '授權(quán)碼')

# plain代表發(fā)送為文本
msg = MIMEText("你要發(fā)送的內(nèi)容", "plain", 'utf-8')
# 發(fā)送的標(biāo)題
msg["Subject"] = Header("帥哥的郵件", 'utf-8')

# 發(fā)送方
msg["From"] = sendMail
# 接收方
msg["To"] = receiveMail
# 發(fā)送郵件
smtp.sendmail(sendMail, receiveMail, msg.as_string())
# 退出
smtp.quit()

結(jié)合使用

代碼寫的耦合度比較高,如果使用的話,需要根據(jù)自己的實際情況去修改

# encoding=utf-8
import time
import requests
import json
from email.mime.text import MIMEText
from email.header import Header
from smtplib import SMTP_SSL

# 獲得時間 格式為:【20190125】
nowTime = time.strftime("%Y%m%d", time.localtime())
# 發(fā)送方的QQ
sendQQ = "xxx"
# 接收方的郵件地址
receiveMail = "xxx"
# 百度統(tǒng)計token
token = "xxx"
# 需要查詢的網(wǎng)站id
siteId = xxx
# qq郵箱授權(quán)碼
mailCode = "xxx"


def get_pv_uv():

 dataUrl = "https://api.baidu.com/json/tongji/v1/ReportService/getData"

 body = {
  "header": {
   'username': "xxx",
   'password': "xxx",
   'token': token,
   'Content-type': 'application/json'
  },
  "body": {
   'site_id': siteId,
   'method': 'trend/time/a',
   'start_date': nowTime,
   'end_date': nowTime,
   'metrics': 'pv_count,visitor_count'
  }

 }

 r = requests.post(dataUrl, data=json.dumps(body))
 result = json.loads(r.text)
 pv_uv = result["body"]["data"][0]["result"]["pageSum"][0]
 return pv_uv


def sendMail(pv_uv):


 # 郵件的正文內(nèi)容
 mailContent = "小主,晚上好,這是昨天的統(tǒng)計數(shù)據(jù),昨天的博客園一共有%s個人訪問了小主你的博客,其中獨立訪客有%s位。\n小主你要加油寫博客哦,有朝一日,你總會成為大佬的!(*^__^*) 嘻嘻……" % (pv_uv[0],pv_uv[1])
 
 # qq郵箱smtp服務(wù)器
 hostServer = 'smtp.qq.com'
 sendEmail = sendQQ+'@qq.com'

 # ssl登錄
 smtp = SMTP_SSL(hostServer)

 smtp.login(sendQQ, mailCode)
 msg = MIMEText(mailContent, "plain", 'utf-8')
 msg["Subject"] = Header("博客園統(tǒng)計郵件", 'utf-8')
 msg["From"] = sendEmail
 msg["To"] = receiveMail
 smtp.sendmail(sendEmail, receiveMail, msg.as_string())
 smtp.quit()

sendMail(get_pv_uv())

這時候,我們就可以將我們的python程序部署在Linux云服務(wù)器上面,那么我們怎么能夠讓這個程序在每天的23.30分運行呢?這時候我們就可以使用Linux上面的crontab了。

進入linux,輸入crontab -e,然后在里面30 23 * * * python ~/Home/#py【你的Python文件地址】 >> #txt就可以設(shè)置為,在晚上的11.30分發(fā)送該郵件。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • 在Pycharm中使用GitHub的方法步驟

    在Pycharm中使用GitHub的方法步驟

    這篇文章主要介紹了在Pycharm中使用GitHub的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-06-06
  • python接入使用百度翻譯流程

    python接入使用百度翻譯流程

    這篇文章主要介紹了利用Python接入百度翻譯的實現(xiàn)方法,從而實現(xiàn)中英文互譯的功能,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2022-07-07
  • Python將xml和xsl轉(zhuǎn)換為html的方法

    Python將xml和xsl轉(zhuǎn)換為html的方法

    這篇文章主要介紹了Python將xml和xsl轉(zhuǎn)換為html的方法,實例分析了使用libxml2模塊操作xml和xsl轉(zhuǎn)換為html的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • Python:__eq__和__str__函數(shù)的使用示例

    Python:__eq__和__str__函數(shù)的使用示例

    這篇文章主要介紹了Python:__eq__和__str__函數(shù)的使用示例,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-09-09
  • python使用watchdog實現(xiàn)文件資源監(jiān)控

    python使用watchdog實現(xiàn)文件資源監(jiān)控

    watchdog 支持跨平臺文件資源監(jiān)控,可以檢測指定文件夾下文件及文件夾變動,下面我們來看看Python如何使用watchdog實現(xiàn)文件資源監(jiān)控吧
    2025-01-01
  • Python學(xué)習(xí)之迭代器詳解

    Python學(xué)習(xí)之迭代器詳解

    這篇文章主要介紹了Python中的一個新的概念,那就是迭代器 。迭代器的使用可以幫助我們提升代碼的性能,接下來讓我們深入了解一下迭代器吧
    2022-04-04
  • python xlwt如何設(shè)置單元格的自定義背景顏色

    python xlwt如何設(shè)置單元格的自定義背景顏色

    這篇文章主要介紹了python xlwt如何設(shè)置單元格的自定義背景顏色,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • python函數(shù)局部變量用法實例分析

    python函數(shù)局部變量用法實例分析

    這篇文章主要介紹了python函數(shù)局部變量用法,較為詳細的分析了Python局部變量的原理與使用技巧,并對比分析了局部變量與global全局變量的用法區(qū)別,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-08-08
  • python使用scrapy解析js示例

    python使用scrapy解析js示例

    這篇文章主要介紹了python使用scrapy解析js的示例,大家參考使用吧
    2014-01-01
  • Python鼠標(biāo)事件及坐標(biāo)獲取窗口和屏幕坐標(biāo)

    Python鼠標(biāo)事件及坐標(biāo)獲取窗口和屏幕坐標(biāo)

    這篇文章主要介紹了Python編程中如何通過鼠標(biāo)事件及坐標(biāo)獲取窗口坐標(biāo)和屏幕坐標(biāo)的示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-10-10

最新評論

磴口县| 利辛县| 深泽县| 虹口区| 赤壁市| 佛教| 临江市| 峨边| 富蕴县| 元谋县| 家居| 得荣县| 英超| 抚州市| 嫩江县| 张家川| 郁南县| 和平区| 龙岩市| 湛江市| 巴楚县| 长阳| 西丰县| 新化县| 隆尧县| 广安市| 九寨沟县| 同江市| 大洼县| 客服| 静乐县| 石河子市| 霍城县| 巫溪县| 南汇区| 自治县| 芷江| 彭州市| 乌拉特后旗| 阿坝| 潜山县|