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 相关文章推荐
Flask框架学习笔记(一)安装篇(windows安装与centos安装)
Jun 25 Python
python检测远程udp端口是否打开的方法
Mar 14 Python
Python 判断文件或目录是否存在的实例代码
Jul 19 Python
python中单例常用的几种实现方法总结
Oct 13 Python
利用Pyhton中的requests包进行网页访问测试的方法
Dec 26 Python
python实现顺时针打印矩阵
Mar 02 Python
Python time库基本使用方法分析
Dec 13 Python
Python日志处理模块logging用法解析
May 19 Python
详解python logging日志传输
Jul 01 Python
如何利用python进行时间序列分析
Aug 04 Python
详解Python 函数参数的拆解
Sep 02 Python
Sublime Text3最新激活注册码分享适用2020最新版 亲测可用
Nov 12 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中常用数组处理方法实例分析
2008/08/30 PHP
drupal 代码实现URL重写
2011/05/04 PHP
PHP的一个基础知识 表单提交
2011/07/04 PHP
php调用shell的方法
2014/11/05 PHP
laravel框架中间件 except 和 only 的用法示例
2019/07/12 PHP
详解php反序列化
2020/06/10 PHP
js跨浏览器的事件侦听器和事件对象的使用方法
2015/12/17 Javascript
javascript中select下拉框的用法总结
2016/01/07 Javascript
JS实现的在线调色板实例(附demo源码下载)
2016/03/01 Javascript
Nodejs获取网络数据并生成Excel表格
2020/03/31 NodeJs
在IE8上JS实现combobox支持拼音检索功能
2016/05/23 Javascript
JS封装通过className获取元素的函数示例
2016/12/20 Javascript
BootStrap框架中的data-[ ]自定义属性理解(推荐)
2017/02/14 Javascript
jQuery 中msgTips 顶部弹窗效果实现代码
2017/08/14 jQuery
微信小程序使用modal组件弹出对话框功能示例
2017/11/29 Javascript
vue+axios+promise实际开发用法详解
2018/10/15 Javascript
jQuery+Datatables实现表格批量删除功能【推荐】
2018/10/24 jQuery
JavaScript中的回调函数实例讲解
2019/01/27 Javascript
Vue中通过Vue.extend动态创建实例的方法
2019/08/13 Javascript
简单了解微信小程序 e.target与e.currentTarget的不同
2019/09/27 Javascript
Vue中错误图片的处理的实现代码
2019/11/07 Javascript
解决VantUI popup 弹窗不弹出或无蒙层的问题
2020/11/03 Javascript
[15:56]Heroes18_暗影萨满(完美)
2014/10/31 DOTA
[39:07]LGD vs VP 2018国际邀请赛淘汰赛BO3 第二场 8.21
2018/08/22 DOTA
python统计多维数组的行数和列数实例
2018/06/23 Python
python算法与数据结构之冒泡排序实例详解
2019/06/22 Python
python Gabor滤波器讲解
2020/10/26 Python
巴黎卡诗加拿大官网:Kérastase加拿大
2018/11/12 全球购物
沙特阿拉伯电子产品和家用电器购物网站:Black Box
2019/07/24 全球购物
彪马香港官方网上商店:PUMA香港
2020/12/06 全球购物
群众路线教育实践活动方案
2014/02/02 职场文书
党的群众路线教育实践活动批评与自我批评
2014/02/16 职场文书
社区交通安全实施方案
2014/03/22 职场文书
湖南省党的群众路线教育实践活动总结会议新闻稿
2014/10/21 职场文书
开展党的群众路线教育实践活动总结报告
2014/10/31 职场文书
2014年公司工作总结
2014/11/22 职场文书