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 23 Python
python里将list中元素依次向前移动一位
Sep 12 Python
python生成随机密码或随机字符串的方法
Jul 03 Python
Python实现快速排序算法及去重的快速排序的简单示例
Jun 26 Python
Python实现嵌套列表及字典并按某一元素去重复功能示例
Nov 30 Python
python pandas中DataFrame类型数据操作函数的方法
Apr 08 Python
对Tensorflow中权值和feature map的可视化详解
Jun 14 Python
Python中反射和描述器总结
Sep 23 Python
Python闭包思想与用法浅析
Dec 27 Python
pandas dataframe的合并实现(append, merge, concat)
Jun 24 Python
Django自定义用户登录认证示例代码
Jun 30 Python
详解python内置模块urllib
Sep 09 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
fleaphp常用方法分页之Pager使用方法
2011/04/23 PHP
一个PHP验证码类代码分享(已封装成类)
2011/07/17 PHP
深入php处理整数函数的详解
2013/06/09 PHP
在wamp集成环境下升级php版本(实现方法)
2013/07/01 PHP
thinkphp命名空间用法实例详解
2015/12/30 PHP
yii2带搜索功能的下拉框实例详解
2016/05/12 PHP
PHP魔术方法之__call与__callStatic使用方法
2017/07/23 PHP
PHP笛卡尔积实现算法示例
2018/07/30 PHP
php 的多进程操作实践案例分析
2020/02/28 PHP
几个高效,简洁的字符处理函数
2007/04/12 Javascript
很酷的javascript loading效果代码
2008/06/18 Javascript
jQuery 扩展对input的一些操作方法
2009/10/30 Javascript
通过javascript设置css属性的代码
2009/12/28 Javascript
防止页面被iframe(兼容IE,Firefox火狐)
2010/07/04 Javascript
在一个js文件里远程调用jquery.js会在ie8下的一个奇怪问题
2010/11/28 Javascript
利用js读取动态网站从服务器端返回的数据
2014/02/10 Javascript
JS实现距离上次刷新已过多少秒示例
2014/05/23 Javascript
JQuery给元素绑定click事件多次执行的解决方法
2014/05/29 Javascript
window.print打印指定div指定网页指定区域的方法
2014/08/04 Javascript
JavaScript中获取鼠标位置相关属性总结
2014/10/11 Javascript
js获取元素外链样式的方法
2015/01/27 Javascript
jquery中取消和绑定hover事件的实现代码
2016/06/02 Javascript
jQuery Tags Input Plugin(添加/删除标签插件)详解
2016/06/20 Javascript
Javascript中的 “&” 和 “|” 详解
2017/02/02 Javascript
Express与NodeJs创建服务器的两种方法
2017/02/06 NodeJs
微信小程序仿RadioGroup改变样式的处理方案
2018/07/13 Javascript
Python两个内置函数 locals 和globals(学习笔记)
2016/08/28 Python
Python对切片命名的实现方法
2018/10/16 Python
Django实现学生管理系统
2019/02/26 Python
Python3 串口接收与发送16进制数据包的实例
2019/06/12 Python
Django REST Framework之频率限制的使用
2019/09/29 Python
Python 3.8 新功能大揭秘【新手必学】
2020/02/05 Python
Windows+Anaconda3+PyTorch+PyCharm的安装教程图文详解
2020/04/03 Python
Groupon法国官方网站:特卖和网上购物高达-70%
2019/09/02 全球购物
初中家长意见
2015/06/03 职场文书
2019暑期安全倡议书!
2019/06/27 职场文书