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 相关文章推荐
Django查找网站项目根目录和对正则表达式的支持
Jul 15 Python
用python记录运行pid,并在需要时kill掉它们的实例
Jan 16 Python
Python实现接受任意个数参数的函数方法
Apr 21 Python
Python3.5文件修改操作实例分析
May 01 Python
如何在VSCode上轻松舒适的配置Python的方法步骤
Oct 28 Python
pycharm内无法import已安装的模块问题解决
Feb 12 Python
使用 django orm 写 exists 条件过滤实例
May 20 Python
浅谈Python中的生成器和迭代器
Jun 19 Python
解决tensorflow 释放图,删除变量问题
Jun 23 Python
Python中免验证跳转到内容页的实例代码
Oct 23 Python
python爬虫beautifulsoup库使用操作教程全解(python爬虫基础入门)
Feb 19 Python
python如何在word中存储本地图片
Apr 07 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 获取可变函数参数的函数
2009/08/26 PHP
解决PHP超大文件下载,断点续传下载的方法详解
2013/06/06 PHP
PHP加密扩展库Mcrypt安装和实例
2013/11/10 PHP
php+memcache实现的网站在线人数统计代码
2014/07/04 PHP
PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析
2014/08/18 PHP
php通过curl模拟登陆DZ论坛
2015/05/11 PHP
PHP实现的杨辉三角求解算法分析
2019/03/11 PHP
PHP pthreads v3使用中的一些坑和注意点分析
2020/02/21 PHP
jquery.cookie.js 操作cookie实现记住密码功能的实现代码
2011/04/27 Javascript
动态创建样式表在各浏览器中的差异测试代码
2011/09/13 Javascript
JavaScript 盒模型 尺寸深入理解
2012/12/31 Javascript
javascript 数字格式化输出的实现代码
2013/12/10 Javascript
关闭页面window.location事件未执行的原因及解决方法
2014/09/01 Javascript
原生js仿jquery实现对Ajax的封装
2016/10/04 Javascript
jquery版轮播图效果和extend扩展
2017/07/18 jQuery
Angular.js中$resource高大上的数据交互详解
2017/07/30 Javascript
浅析vue-router原理
2018/10/19 Javascript
JavaScript中0、空字符串、'0'是true还是false的知识点分享
2019/09/16 Javascript
[08:44]DOTA2发布会群星聚首 我们都是刀塔人
2014/03/21 DOTA
[32:47]完美世界DOTA2联赛 GXR vs IO 第二场 11.07
2020/11/09 DOTA
python Django批量导入数据
2016/03/25 Python
用Python写脚本,实现完全备份和增量备份的示例
2018/04/29 Python
使用11行Python代码盗取了室友的U盘内容
2018/10/23 Python
对python实现二维函数高次拟合的示例详解
2018/12/29 Python
对python调用RPC接口的实例详解
2019/01/03 Python
Python实现定时自动关闭的tkinter窗口方法
2019/02/16 Python
利用python实现短信和电话提醒功能的例子
2019/08/08 Python
Python 利用邮件系统完成远程控制电脑的实现(关机、重启等)
2019/11/19 Python
解决jupyter notebook打不开无反应 浏览器未启动的问题
2020/04/10 Python
css背景图片的背景裁切、背景透明度、背景变换等效果运用
2012/12/24 HTML / CSS
英国和爱尔兰最大的地毯零售商:Kukoon
2018/12/17 全球购物
澳大利亚领先的男装零售连锁店:Lowes
2020/08/07 全球购物
施华洛世奇中国官网:SWAROVSKI中国
2020/06/16 全球购物
网友共享的几个面试题关于Java和Unix等方面的
2016/09/08 面试题
《天游峰的扫路人》教学反思
2014/04/25 职场文书
2015年暑期社会实践活动总结
2015/03/27 职场文书