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新手编程过程中如何规避一些常见问题的建议
Apr 01 Python
在Python中使用NLTK库实现对词干的提取的教程
Apr 08 Python
python爬虫实战之爬取京东商城实例教程
Apr 24 Python
Python实现自动为照片添加日期并分类的方法
Sep 30 Python
Python cookbook(数据结构与算法)在字典中将键映射到多个值上的方法
Feb 18 Python
Ubuntu下使用Python实现游戏制作中的切分图片功能
Mar 30 Python
Python基于whois模块简单识别网站域名及所有者的方法
Apr 23 Python
对python中的logger模块全面讲解
Apr 28 Python
使用pandas模块读取csv文件和excel表格,并用matplotlib画图的方法
Jun 22 Python
django url到views参数传递的实例
Jul 19 Python
python3正则模块re的使用方法详解
Feb 11 Python
Python实现聚类K-means算法详解
Jul 15 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正则过滤html标签、空格、换行符的代码(附说明)
2010/10/25 PHP
php 变量未定义等错误的解决方法
2011/01/12 PHP
PHP导入Excel到MySQL的方法
2011/04/23 PHP
thinkPHP框架自动填充原理与用法分析
2018/04/03 PHP
Vue.js 中的 $watch使用方法
2017/05/25 Javascript
vue-resouce设置请求头的三种方法
2017/09/12 Javascript
jQuery实现带右侧索引功能的通讯录示例【附源码下载】
2018/04/17 jQuery
Nodejs 发布自己的npm包并制作成命令行工具的实例讲解
2018/05/15 NodeJs
Angular异步变同步处理方法
2018/08/13 Javascript
微信小程序调用摄像头隐藏式拍照功能
2018/08/22 Javascript
详解Axios 如何取消已发送的请求
2018/10/20 Javascript
vue中父子组件传值,解决钩子函数mounted只运行一次的操作
2020/07/27 Javascript
[03:28]2014DOTA2国际邀请赛 走近EG战队天才中单Arteezy
2014/07/12 DOTA
python基于twisted框架编写简单聊天室
2018/01/02 Python
python2.7+selenium2实现淘宝滑块自动认证功能
2018/02/24 Python
Python面向对象之继承和组合用法实例分析
2018/08/27 Python
Python实现多属性排序的方法
2018/12/05 Python
对python以16进制打印字节数组的方法详解
2019/01/24 Python
在PyCharm中实现添加快捷模块
2020/02/12 Python
Python Tkinter Entry和Text的添加与使用详解
2020/03/04 Python
Django实现前台上传并显示图片功能
2020/05/29 Python
使用CSS3美化HTML表单的技巧演示
2016/05/17 HTML / CSS
HTML5 Canvas实现玫瑰曲线和心形图案的代码实例
2014/04/10 HTML / CSS
HTML5中通过li-canvas轻松实现单图、多图、圆角图绘制,单行文字、多行文字等
2018/11/30 HTML / CSS
连卡佛中国官网:Lane Crawford中文站
2018/01/27 全球购物
全球地下的服装和态度:Slam Jam
2018/02/04 全球购物
几个MySql的面试题
2013/04/22 面试题
opencv实现图像几何变换
2021/03/24 Python
医药工作岗位求职信分享
2013/12/31 职场文书
社团活动总结书
2014/06/27 职场文书
面试自我评价范文
2014/09/17 职场文书
小学趣味运动会加油稿
2014/09/25 职场文书
公司清洁工岗位职责
2015/04/15 职场文书
个人售房合同协议书
2016/03/21 职场文书
原生JS实现飞机大战小游戏
2021/06/09 Javascript
数据设计之权限的实现
2022/08/05 MySQL