靳闯博客 记录是一种习惯,分享是一种态度
  • 波浪
  • 波浪
  • 波浪
  • 波浪
脚本定时发送微博热搜关键词到微信企业号
发表于: | 分类: 技术积累 | 标签: Python Linux Shell | 评论:3 | 阅读: 530

shell脚本获取,python脚本发送。此篇文章需要有企业微信管理权限才能使用


1、企业微信(企业号)现在申请要企业验证,我申请的比较早当时不需要验证
2、crontab计划任务
3、python
4、个人微信加入企业中,个人微信关注企业号,然后把人员加入到部门,消息按部门发送


效果展示(因为微信API接口文本消息内容,最长不超过2048个字节,超过将截断)所以分四条发送

wb.jpg

url-utf8.py url编码解码脚本

#!/bin/python
# -*- coding: utf-8 -*-
import urllib
import sys
rawurl = str(sys.argv[1])
url = urllib.unquote(rawurl)
print url

num.txt 发送消息每条消息取多少行

1,12p
13,25p
26,37p
38,50p

wxweibo.py 发送文本内容到企业微信应用的脚本

#!/usr/bin/python
#_*_coding:utf-8 _*_
__author__ = 'lvnian'
 
import urllib,urllib2
import json
import sys
reload(sys)
sys.setdefaultencoding('utf8')
 
def gettoken(corpid,corpsecret):
    gettoken_url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=' + corpid + '&corpsecret=' + corpsecret
    try:
        token_file = urllib2.urlopen(gettoken_url)
    except urllib2.HTTPError as e:
        print e.code
        print e.read().decode("utf8")
        sys.exit()
    token_data = token_file.read().decode('utf-8')
    token_json = json.loads(token_data)
    token_json.keys()
    token = token_json['access_token']
    return token
 
 
 
def senddata(access_token,user,content):
 
    send_url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + access_token
    send_values = {
        "touser":user ,    #企业号中的用户帐号,我这里按部门发送的,所以这个参数填错没关系。
        "toparty":"3",    #企业号中的部门id
        "msgtype":"text",  #发送的消息类型。
        "agentid":"1000003", #企业号中应用的AgentId
        "text":{
            "content":content
           },
        "safe":"0"
        }
    send_data = json.dumps(send_values, ensure_ascii=False)
    send_request = urllib2.Request(send_url, send_data)
    response = json.loads(urllib2.urlopen(send_request).read())
    print str(response)
 
if __name__ == '__main__':
    user = str(sys.argv[1])     #第一个参数(第一个和第二参数没实际作用,但不能为空)
    subject = str(sys.argv[2])  #第二个参数
    content = str(sys.argv[3])  #第三个参数(需要发送的消息内容)
    corpid =  '企业微信管理-我的企业-就可看到此id'   #CorpID是企业微信(原企业号)的标识
    corpsecret = '企业微信管理-应用管理-打开对应应用就可看到此参数'  #需要发送的应用Secret
    accesstoken = gettoken(corpid,corpsecret)
    senddata(accesstoken,user,content)

wxweibo.sh 执行脚本

#!/bin/bash
date=`date +%H:%M`

#下载热搜关键词前50页面并过滤热搜词和url
cd /tmp/weibo/ && wget -q https://s.weibo.com/top/summary/ 
grep "<a href=\"/weibo?" index.html|sed 's#^ *##;s/target="_blank"//'> /tmp/weibo/aa && cp aa ab

#对url编码解码并替换原来url
for i in `awk -F "[=|&]" '{print $3}' aa`
do
    wz="`python /tmp/weibo/url-utf8.py $i`"
    sed -i "s/$i/{$wz}/" ab
done

#删除和替换字符导出结果
sed 's/{//;s/}//;s#\/weibo#https://s.weibo.com#g;s/com/com\/weibo/g;s/#/%23/g;s/ //g;s/<a/<a /' ab >resou.txt


#分4次发送热搜词到公众号消息(1条消息限制最长2048个字节)
for i in `cat /tmp/weibo/num.txt`
do
    nub=`echo "$i"|sed 's/p//'|tr "," "-"`
    /bin/python /tmp/weibo/wxweibo.py 0 0 "[$date]微博热搜排名$nub关键词:
`sed -n $i /tmp/weibo/resou.txt`"
done

#删除临时文件
rm -rf index.html* aa ab 

wxweibo.sh 执行

sh /tmp/weibo/wxweibo.sh
{u'invaliduser': u'0', u'errcode': 0, u'errmsg': u'ok'}
{u'invaliduser': u'0', u'errcode': 0, u'errmsg': u'ok'}
{u'invaliduser': u'0', u'errcode': 0, u'errmsg': u'ok'}
{u'invaliduser': u'0', u'errcode': 0, u'errmsg': u'ok'}

crontab 每小时0分定时发送

00 * * * * /tmp/weibo/wxweibo.sh

百度搜热也可以这样做,效果展示;因为百度链接长所以分5条消息发送

bd.jpg


商业转载请联系作者获得授权,非商业转载请注明出处,谢谢合作。


如果这篇文章帮助到了你,我感到十分荣幸!

已有 3 条评论

  1. 许小逸 许小逸   Windows 10 x64 Edition Google Chrome 80.0.3987.106

    你好,我想转载了该篇博文,用于论坛交流可以吗?

    1. J.C J.C   Windows 10 x64 Edition Google Chrome 78.0.3904.108

      个人娱乐用,可以转载的

      1. 许小逸 许小逸   Windows 10 x64 Edition Google Chrome 80.0.3987.106

        谢谢大佬!

或许你不想写点什么·但我依旧在这里

icon_mrgreen.pngicon_neutral.pngicon_twisted.pngicon_arrow.pngicon_eek.pngicon_smile.pngicon_confused.pngicon_cool.pngicon_evil.pngicon_biggrin.pngicon_idea.pngicon_redface.pngicon_razz.pngicon_rolleyes.pngicon_wink.pngicon_cry.pngicon_surprised.pngicon_lol.pngicon_mad.pngicon_sad.pngicon_exclaim.pngicon_question.png2018new_aini_org.png2018new_baobao_thumb.png2018new_erha_org.png2018new_kuxiao_thumb.png2018new_yun_thumb.png2018new_hufen_thumb.png2018new_gui_org.png2018new_xiaoerbuyu_org.png2018new_heixian_thumb.png2018new_wabi_thumb.png2018new_tianping_thumb.png

站点地图 网站地图
豫ICP备17003270号-1 | Copyright © 2020 💖 靳闯博客
Typecho🍹Sgreen
TOP