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 相关文章推荐
基于python3 OpenCV3实现静态图片人脸识别
May 25 Python
Python3.4 tkinter,PIL图片转换
Jun 21 Python
Django添加sitemap的方法示例
Aug 06 Python
python3实现指定目录下文件sha256及文件大小统计
Feb 25 Python
Django时区详解
Jul 24 Python
使用PyOpenGL绘制三维坐标系实例
Dec 24 Python
new_zeros() pytorch版本的转换方式
Feb 18 Python
超级实用的8个Python列表技巧
Aug 24 Python
python实现启动一个外部程序,并且不阻塞当前进程
Dec 05 Python
Python爬虫制作翻译程序的示例代码
Feb 22 Python
Python机器学习之基础概述
May 19 Python
python中的getter与setter你了解吗
Mar 24 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中文处理 中文字符串截取(mb_substr)和获取中文字符串字数
2011/11/10 PHP
PHP中cookie和session的区别实例分析
2014/08/28 PHP
PHP实现获取ip地址的5种方法,以及插入用户登录日志操作示例
2019/02/28 PHP
PHP如何开启Opcache功能提升程序处理效率
2020/04/27 PHP
jquery autocomplete自动完成插件的的使用方法
2010/08/07 Javascript
JSONP 跨域共享信息
2012/08/16 Javascript
浅谈JavaScript事件的属性列表
2015/03/01 Javascript
JavaScript与HTML的结合方法详解
2015/11/23 Javascript
js实现文字超出部分用省略号代替实例代码
2016/09/01 Javascript
thinkjs之页面跳转同步异步操作
2017/02/05 Javascript
JS简单生成随机数(随机密码)的方法
2017/05/11 Javascript
详解AngularJS脏检查机制及$timeout的妙用
2017/06/19 Javascript
JS实现上传图片的三种方法并实现预览图片功能
2017/07/14 Javascript
bootstrap3-dialog-master模态框使用详解
2017/08/22 Javascript
node.js 核心http模块,起一个服务器,返回一个页面的实例
2017/09/11 Javascript
微信小程序实现底部导航
2018/11/05 Javascript
微信小程序--获取用户地理位置名称(无须用户授权)的方法
2019/04/29 Javascript
JavaScript禁止右击保存图片,禁止拖拽图片的实现代码
2020/04/28 Javascript
关于angular引入ng-zorro的问题浅析
2020/09/09 Javascript
Python自定义函数定义,参数,调用代码解析
2017/12/27 Python
python实现文件的分割与合并
2019/08/29 Python
wxPython实现分隔窗口
2019/11/19 Python
python ffmpeg任意提取视频帧的方法
2020/02/21 Python
解决pyPdf和pyPdf2在合并pdf时出现异常的问题
2020/04/03 Python
Python自动化xpath实现自动抢票抢货
2020/09/19 Python
python批量检查两个对应的txt文件的行数是否一致的实例代码
2020/10/31 Python
Python实现随机爬山算法
2021/01/29 Python
css3 media 响应式布局的简单实例
2016/08/03 HTML / CSS
css3实现冲击波效果的示例代码
2018/01/11 HTML / CSS
Expedia挪威官网:酒店、机票和租车
2018/03/03 全球购物
vue 中 get / delete 传递数组参数方法
2021/03/23 Vue.js
党校个人自我鉴定范文
2014/03/28 职场文书
煤矿安全演讲稿
2014/05/09 职场文书
搞笑的获奖感言
2014/08/16 职场文书
学校运动会通讯稿
2015/07/18 职场文书
20180830晚上第一届KSL半决赛 雨神vs解冻(二龙 三炮解说)
2022/04/01 星际争霸