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中__getattr__和 __getattribute__获取属性的用法
Jun 21 Python
python一键升级所有pip package的方法
Jan 16 Python
老生常谈Python进阶之装饰器
May 11 Python
Python基于回溯法子集树模板解决旅行商问题(TSP)实例
Sep 05 Python
基于Python中单例模式的几种实现方式及优化详解
Jan 09 Python
Python 16进制与中文相互转换的实现方法
Jul 09 Python
解决pycharm启动后总是不停的updating indices...indexing的问题
Nov 27 Python
Python实现的北京积分落户数据分析示例
Mar 27 Python
如何理解python中数字列表
May 29 Python
Python环境使用OpenCV检测人脸实现教程
Oct 19 Python
2021年pycharm的最新安装教程及基本使用图文详解
Apr 03 Python
Python 可迭代对象 iterable的具体使用
Aug 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
oracle资料库函式库
2006/10/09 PHP
PHP_MySQL教程-第一天
2007/03/18 PHP
PHP实现阿里大鱼短信验证的实例代码
2017/07/10 PHP
PHP yield关键字功能与用法分析
2019/01/03 PHP
javascript 常用方法总结
2009/06/03 Javascript
jquery实现图片等比例缩放以及max-width在ie中不兼容解决
2013/03/21 Javascript
node.js中的fs.renameSync方法使用说明
2014/12/16 Javascript
简单实现兼容各大浏览器的js复制内容到剪切板
2015/09/09 Javascript
浅析$(function) ready和onload 的区别
2016/09/03 Javascript
简单实现jquery焦点图
2016/12/12 Javascript
原生js实现轮播图
2017/02/27 Javascript
详解Angular 4.x NgIf 的用法
2017/05/22 Javascript
深究AngularJS——ng-checked(回写:带真实案例代码)
2017/06/13 Javascript
nodejs 最新版安装npm 的使用详解
2018/01/18 NodeJs
原生JS实现的多个彩色小球跟随鼠标移动动画效果示例
2018/02/01 Javascript
浅析java线程中断的办法
2018/07/29 Javascript
python进阶教程之循环相关函数range、enumerate、zip
2014/08/30 Python
为Python的web框架编写前端模版的教程
2015/04/30 Python
python操作redis的方法
2015/07/07 Python
Python中的日期时间处理详解
2016/11/17 Python
Python随机生成均匀分布在单位圆内的点代码示例
2017/11/13 Python
pyqt5使用按钮进行界面的跳转方法
2019/06/19 Python
python的sys.path模块路径添加方式
2020/03/09 Python
django中的数据库迁移的实现
2020/03/16 Python
荷兰网上药店:Drogisterij.net
2019/09/03 全球购物
安全月活动总结
2014/05/05 职场文书
关于雷锋的演讲稿
2014/05/10 职场文书
全国文明单位申报材料
2014/05/31 职场文书
商务英语专业求职信
2014/06/26 职场文书
幽默自我介绍演讲稿
2014/08/21 职场文书
立案决定书范文
2015/06/24 职场文书
2019新员工心得体会
2019/06/25 职场文书
为什么阅读对所有年龄段的孩子都很重要?
2019/07/08 职场文书
导游词之峨眉山
2019/12/16 职场文书
Windows下使用Nginx+Tomcat做负载均衡的完整步骤
2021/03/31 Servers
Matplotlib绘制混淆矩阵的实现
2021/05/27 Python