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二叉树的实现实例
Nov 21 Python
Python实现partial改变方法默认参数
Aug 18 Python
python中map、any、all函数用法分析
Apr 21 Python
基于Python Shell获取hostname和fqdn释疑
Jan 25 Python
Python中线程的MQ消息队列实现以及消息队列的优点解析
Jun 29 Python
Pandas_cum累积计算和rolling滚动计算的用法详解
Jul 04 Python
python 创建一维的0向量实例
Dec 02 Python
Django模型中字段属性choice使用说明
Mar 30 Python
Window版下在Jupyter中编写TensorFlow的环境搭建
Apr 10 Python
如何验证python安装成功
Jul 06 Python
python中加背景音乐如何操作
Jul 19 Python
详解python中的异常和文件读写
Jan 03 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
使用array mutisort 实现按某字段对数据排序
2013/06/18 PHP
php json_encode值中大括号与花括号区别
2013/09/30 PHP
PHP迭代器实现斐波纳契数列的函数
2013/11/12 PHP
PHP输出多个元素的排列或组合的方法
2017/03/14 PHP
用JavaScript仿PS里的羽化效果代码
2011/12/20 Javascript
js日期、星座的级联显示代码
2014/01/23 Javascript
asp知识整理笔记3(问答模式)
2015/09/27 Javascript
js性能优化技巧
2015/11/29 Javascript
JavaScript使ifram跨域相互访问及与PHP通信的实例
2016/03/03 Javascript
利用jQuery插件imgAreaSelect实现图片上传裁剪(同步显示图像位置信息)
2016/12/02 Javascript
jQuery电话号码验证实例
2017/01/05 Javascript
从零学习node.js之文件操作(三)
2017/02/21 Javascript
ES6入门教程之let和const命令详解
2017/05/17 Javascript
vue3.0 CLI - 2.5 - 了解组件的三维
2018/09/14 Javascript
jquery实现联想词搜索框和搜索结果分页的示例
2018/10/10 jQuery
spring+angular实现导出excel的实现代码
2019/02/27 Javascript
layui自定义ajax左侧三级菜单
2019/07/26 Javascript
vue+element-ui+axios实现图片上传
2019/08/20 Javascript
VUE解决 v-html不能触发点击事件的问题
2019/10/28 Javascript
原生js+canvas实现贪吃蛇效果
2020/08/02 Javascript
Nuxt 嵌套路由nuxt-child组件用法(父子页面组件的传值)
2020/11/05 Javascript
python 全局变量的import机制介绍
2017/09/07 Python
python实现简易内存监控
2018/06/21 Python
python实现AES加密与解密
2019/03/28 Python
python文档字符串(函数使用说明)使用详解
2019/07/30 Python
python实现四人制扑克牌游戏
2020/04/22 Python
python 利用百度API识别图片文字(多线程版)
2020/12/14 Python
百思买美国官网:Best Buy
2016/07/28 全球购物
THE OUTNET美国官网:国际设计师品牌折扣网站
2017/03/07 全球购物
Tod’s英国官方网站:意大利奢华手工制作手袋和鞋履
2019/03/15 全球购物
英国领先的豪华时尚家居网上商店:Amara
2019/08/12 全球购物
销售员岗位职责范本
2014/02/03 职场文书
购房协议书
2014/04/11 职场文书
我爱我校演讲稿
2014/05/21 职场文书
2014年便民服务中心工作总结
2014/12/20 职场文书
杜甫草堂导游词
2015/02/03 职场文书