python3实现公众号每日定时发送日报和图片


Posted in Python onFebruary 24, 2018

本文实例为大家分享了python3实现公众号每日定时发送的具体代码,供大家参考,具体内容如下

步骤是这样:先申请公众号,找到接口文件。看了之后发现主要是通过corpid(企业秘钥)和corpsecret(应用秘钥)获得登录token,通过这个token进入各个url操作。

我这个用的是企业微信,所以有部门。其他公众号也类似。结果如下:

python3实现公众号每日定时发送日报和图片

# -*- coding:utf-8 -*-
import requests
import json
import time

url0 = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken'

def get_group_id(): #查看部门与成员
 values_address = {'corpid': '你的corpid',
    'corpsecret': 通讯录corpsecret',
    }
 req = requests.post(url0, params=values_address)
 data = json.loads(req.text)
 token = data["access_token"]
 url_department="https://qyapi.weixin.qq.com/cgi-bin/department/list?access_token="+token #部门
 r_department=requests.get(url_department)
 result_department=r_department.json()
 result_department_no=result_department['department']
 print("***已获取部门信息如下:")
 for item in result_department_no:
  print("[部门]:",item['id']," [部门名称]:",item[ 'name']," [父部门]:",item['parentid']," [序号]:",item['order'])
 print("***已获取成员信息如下:")
 for i in range(len(result_department_no)):
  i=i+1
  url_member = "https://qyapi.weixin.qq.com/cgi-bin/user/simplelist?access_token=%s&department_id=%s&fetch_child=FETCH_CHILD" % (token, i) # 成员
  r_member = requests.get(url_member)
  result_member = r_member.json()
  result_member_no = result_member['userlist']
  for item in result_member_no:
   print("[成员id]:", item['userid'], " [成员名称]:", item['name'], " [所属部门]:", item['department'])
 return result_department_no,result_member_no


def upload_img():
 values_address = {'corpid': '你的corpsecret',
    'corpsecret': '应用corpsecret',
    }
 req = requests.post(url0, params=values_address)
 data = json.loads(req.text)
 token = data["access_token"]
 print("***已获取token.")

 url_upimg="https://qyapi.weixin.qq.com/cgi-bin/media/upload?access_token=%s&type=%s"%(token,"image")
 files = {'filename': ('xn.JPG', open("D:\DOCS\DAY\邮件/DRjpg.JPG", 'rb'))
    } # 显式的设置文件名
 values_upimg={
 "Content - Type": 'multipart/form-data; boundary="----WebKitFormBoundaryn5UouHKhfu8g2XNp";',
 "Content - Length": '331698; boundary="----WebKitFormBoundaryn5UouHKhfu8g2XNp";',
 "Content - Disposition":'form-data; name="image"; boundary=----WebKitFormBoundaryn5UouHKhfu8g2XNp;',
 "content - type": "application/octet-stream; boundary=----WebKitFormBoundaryn5UouHKhfu8g2XNp;"
}
 req_upimg = requests.post(url_upimg,files=files, data=values_upimg)
 data = json.loads(req_upimg.text)
 media_id=data['media_id']
 print("***已获取素材所需id.")
 return token,media_id

def send_msg(token,media_id): #发送图片
 url="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token="+token
 values = {
 "touser": "@all",
 "toparty" : "2", #***************部门******************
 "msgtype" : "image",
 "agentid" : 1000003,
 "image" : {
  "media_id" : media_id
 },
 "safe":0
}
 data = json.dumps(values)
 req = requests.post(url, data)
 print("返回结果:", req.text)
 return req
 #打印返回信息


while True:
 current_time = time.localtime(time.time())
 if ((current_time.tm_hour == 8) and (current_time.tm_min == 13) and (current_time.tm_sec == 50)):
  (result_department_no, result_member_no) = get_group_id()
  (token, media_id) = upload_img()
  send_msg(token,media_id)
 time.sleep(1)

效果是这样:

python3实现公众号每日定时发送日报和图片

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python获取Windows或Linux主机名称通用函数分享
Nov 22 Python
浅谈终端直接执行py文件,不需要python命令
Jan 23 Python
基于python爬虫数据处理(详解)
Jun 10 Python
Django中url的反向查询的方法
Mar 14 Python
Python简单实现查找一个字符串中最长不重复子串的方法
Mar 26 Python
Python操作mongodb数据库的方法详解
Dec 08 Python
修改python plot折线图的坐标轴刻度方法
Dec 13 Python
浅谈Python 多进程默认不能共享全局变量的问题
Jan 11 Python
最简单的matplotlib安装教程(小白)
Jul 28 Python
python爬虫筛选工作实例讲解
Nov 23 Python
详解Python GUI编程之PyQt5入门到实战
Dec 10 Python
Python快速实现一键抠图功能的全过程
Jun 29 Python
详解如何在python中读写和存储matlab的数据文件(*.mat)
Feb 24 #Python
使用python和pygame绘制繁花曲线的方法
Feb 24 #Python
python3操作微信itchat实现发送图片
Feb 24 #Python
python自动12306抢票软件实现代码
Feb 24 #Python
浅谈Python中的zip()与*zip()函数详解
Feb 24 #Python
python模仿网页版微信发送消息功能
Feb 24 #Python
python2.7读取文件夹下所有文件名称及内容的方法
Feb 24 #Python
You might like
BBS(php & mysql)完整版(六)
2006/10/09 PHP
PHP 服务器配置(使用Apache及IIS两种方法)
2009/06/01 PHP
php5.2以下版本无json_decode函数的解决方法
2014/05/25 PHP
php页面缓存方法小结
2015/01/10 PHP
php中解析带中文字符的url函数分享
2015/01/20 PHP
PHP的Json中文处理解决方案
2016/09/29 PHP
PHP多维数组元素操作类的方法
2016/11/14 PHP
使用PHP连接多种数据库的实现代码(mysql,access,sqlserver,Oracle)
2016/12/21 PHP
php json转换相关知识(小结)
2018/12/21 PHP
JQuery小知识
2010/10/15 Javascript
用jquery与css打造个性化的单选框和复选框
2010/10/20 Javascript
下载文件个别浏览器文件名乱码解决办法
2013/03/19 Javascript
node.js中使用socket.io制作命名空间
2014/12/15 Javascript
js实现可旋转的立方体模型
2016/10/16 Javascript
bootstrap-Treeview实现级联勾选
2017/11/23 Javascript
js 公式编辑器 - 自定义匹配规则 - 带提示下拉框 - 动态获取光标像素坐标
2018/01/04 Javascript
解决修复npm安装全局模块权限的问题
2018/05/17 Javascript
Vue中使用vux配置代码详解
2018/09/16 Javascript
vue-cli中安装方法(图文详细步骤)
2018/12/12 Javascript
JavaScript数组、json对象、eval()函数用法实例分析
2019/02/21 Javascript
python模拟enum枚举类型的方法小结
2015/04/30 Python
Ubuntu下升级 python3.7.1流程备忘(推荐)
2018/12/10 Python
Python实现平行坐标图的绘制(plotly)方式
2019/11/22 Python
python中seaborn包常用图形使用详解
2019/11/25 Python
Python urlencode和unquote函数使用实例解析
2020/03/31 Python
TensorFlow2.0使用keras训练模型的实现
2021/02/20 Python
html5 Canvas画图教程(8)—canvas里画曲线之bezierCurveTo方法
2013/01/09 HTML / CSS
详解WebSocket跨域问题解决
2018/08/06 HTML / CSS
前端使用canvas生成盲水印的加密解密的实现
2020/12/16 HTML / CSS
Smallable意大利家庭概念店:设计师童装及家居装饰
2018/01/08 全球购物
经典婚礼主持词
2014/03/13 职场文书
重点工程汇报材料
2014/08/27 职场文书
模范教师材料大全
2014/12/16 职场文书
农村婚庆主持词
2015/06/29 职场文书
2019XX公司员工考核管理制度!
2019/08/07 职场文书
OpenCV-Python实现怀旧滤镜与连环画滤镜
2021/06/09 Python