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正则匹配抓取豆瓣电影链接和评论代码分享
Dec 27 Python
python基础教程之数字处理(math)模块详解
Mar 25 Python
Python遍历目录的4种方法实例介绍
Apr 13 Python
Python网络爬虫出现乱码问题的解决方法
Jan 05 Python
详解Python核心编程中的浅拷贝与深拷贝
Jan 07 Python
python使用KNN算法手写体识别
Feb 01 Python
用python 批量更改图像尺寸到统一大小的方法
Mar 31 Python
python 将md5转为16字节的方法
May 29 Python
Pycharm取消py脚本中SQL识别的方法
Nov 29 Python
Pytorch中Tensor与各种图像格式的相互转化详解
Dec 26 Python
Python中itertools的用法详解
Feb 07 Python
python实现双向链表原理
May 25 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
PHP中mysqli_affected_rows作用行数返回值分析
2014/12/26 PHP
php获取服务器操作系统相关信息的方法
2016/10/08 PHP
php检测mysql表是否存在的方法小结
2017/07/20 PHP
php利用云片网实现短信验证码功能的示例代码
2017/11/18 PHP
php删除一个路径下的所有文件夹和文件的方法
2018/02/07 PHP
JS获取scrollHeight问题想到的标准问题
2007/05/27 Javascript
jquery插件jbox使用iframe关闭问题
2009/02/09 Javascript
构造函数+原型模式构造js自定义对象(最通用)
2014/05/12 Javascript
jQuery实现输入框下拉列表树插件特效代码分享
2015/08/27 Javascript
认识Knockout及如何使用Knockout绑定上下文
2015/12/25 Javascript
Bootstrap 组件之按钮(二)
2016/05/11 Javascript
前端框架Vue.js构建大型应用浅析
2016/09/12 Javascript
vue.js实现请求数据的方法示例
2017/02/07 Javascript
javascript基于牛顿迭代法实现求浮点数的平方根【递归原理】
2017/09/28 Javascript
vue.js项目中实用的小技巧汇总
2017/11/29 Javascript
vue实现消息的无缝滚动效果的示例代码
2017/12/05 Javascript
Vue2.0 http请求以及loading展示实例
2018/03/06 Javascript
命令行批量截图Node脚本示例代码
2019/01/25 Javascript
用python删除java文件头上版权信息的方法
2014/07/31 Python
python面试题小结附答案实例代码
2019/04/11 Python
python绘制双Y轴折线图以及单Y轴双变量柱状图的实例
2019/07/08 Python
Python全局锁中如何合理运用多线程(多进程)
2019/11/06 Python
python绘制无向图度分布曲线示例
2019/11/22 Python
python matplotlib中的subplot函数使用详解
2020/01/19 Python
python next()和iter()函数原理解析
2020/02/07 Python
jupyter 中文乱码设置编码格式 避免控制台输出的解决
2020/04/20 Python
python学习将数据写入文件并保存方法
2020/06/07 Python
Python SQLAlchemy库的使用方法
2020/10/13 Python
HTML5之WebGL 3D概述(上)—WebGL原生开发开启网页3D渲染新时代
2013/01/31 HTML / CSS
萨克斯第五大道的折扣店:Saks Fifth Avenue OFF 5TH
2016/08/25 全球购物
C有"按引用传递"吗
2016/09/06 面试题
网站客服岗位职责
2014/04/05 职场文书
团拜会策划方案
2014/06/07 职场文书
党校学习心得体会范文
2014/09/09 职场文书
教师工作证明范本
2015/06/12 职场文书
OpenCV-Python实现怀旧滤镜与连环画滤镜
2021/06/09 Python