1. 程式人生 > >Python之釘釘機器人推送天氣預報

Python之釘釘機器人推送天氣預報

images ges cto token ken 提取 爬取 ces ont

通過Python腳本結合釘釘機器人,定時向釘釘群推送天氣預報


#!/usr/bin/python
# -*- coding: utf-8 -*-
# Author: [email protected]
# My blog http://m51cto.51cto.blog.com 
import requests
import re
import urllib2
import json
import sys
import os

headers = {‘Content-Type‘: ‘application/json;charset=utf-8‘}
api_url = "https://oapi.dingtalk.com/robot/send?access_token=37e23308d1b84eb4ac34566e03c4c4e74bxxx7xxxxxxxxxxx"
##從釘釘機器人設置中拷貝  
def msg(text):
    json_text= {
     "msgtype": "text",
        "at": {
            "atMobiles": [
                "132xxxx1280"
            ],
            "isAtAll": False
        },
        "text": {
            "content": text
        }
    }
    print requests.post(api_url,json.dumps(json_text),headers=headers).content

hearders = "User-Agent","Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36"

url = "https://tianqi.moji.com/weather/china/guangdong/shenzhen"    ##要爬去天氣預報的網址
par = ‘(<meta name="description" content=")(.*?)(">)‘    ##正則匹配,匹配出網頁內要的內容

##創建opener對象並設置為全局對象
opener = urllib2.build_opener()
opener.addheaders = [hearders]
urllib2.install_opener(opener)

##獲取網頁
html = urllib2.urlopen(url).read().decode("utf-8")

##提取需要爬取的內容
data = re.search(par,html).group(2)
msg(data)

拷貝腳本時請去掉註釋
運行腳本:

python weather.py 
{"errcode":0,"errmsg":"ok"}

釘釘群收到消息如圖:

技術分享圖片

做計劃任務:

# crontab -e
no crontab for root - using an empty one
30 8 * * * /usr/bin/python /root/script/weather.py 2> /dev/null > /dev/null

每天早晨8:30自動推送天氣預報到釘釘群

Python之釘釘機器人推送天氣預報