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读写ini文件的方法
May 28 Python
python读取文本中数据并转化为DataFrame的实例
Apr 10 Python
Selenium鼠标与键盘事件常用操作方法示例
Aug 13 Python
Python语言进阶知识点总结
May 28 Python
解决python 文本过滤和清理问题
Aug 28 Python
python实现自动化报表功能(Oracle/plsql/Excel/多线程)
Dec 02 Python
python模式 工厂模式原理及实例详解
Feb 11 Python
python pandas移动窗口函数rolling的用法
Feb 29 Python
Django DRF APIView源码运行流程详解
Aug 17 Python
通过案例解析python鸭子类型相关原理
Oct 10 Python
python实现网页录音效果
Oct 26 Python
Python爬虫过程解析之多线程获取小米应用商店数据
Nov 14 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跨服务器访问方法小结
2015/05/12 PHP
WordPres对前端页面调试时的两个PHP函数使用小技巧
2015/12/22 PHP
thinkphp分页实现效果
2016/10/13 PHP
PHP单例模式数据库连接类与页面静态化实现方法
2019/03/20 PHP
JQuery 引发两次$(document.ready)事件
2010/01/15 Javascript
Javascript 多浏览器兼容总结(实战经验)
2013/10/30 Javascript
解析JavaScript中instanceof对于不同的构造器或许都返回true
2013/12/03 Javascript
Javascript中arguments用法实例分析
2015/06/13 Javascript
微信小程序 五星评分(包括半颗星评分)实例代码
2016/12/14 Javascript
Node.js利用Net模块实现多人命令行聊天室的方法
2016/12/23 Javascript
手机端js和html5刮刮卡效果
2020/09/29 Javascript
Vuejs入门教程之Vue生命周期,数据,手动挂载,指令,过滤器
2017/04/19 Javascript
Node.js如何使用Diffie-Hellman密钥交换算法详解
2017/09/05 Javascript
解决vue-cli单页面手机应用input点击手机端虚拟键盘弹出盖住input问题
2018/08/25 Javascript
对angularJs中$sce服务安全显示html文本的实例
2018/09/30 Javascript
vue集成kindeditor富文本的实现示例代码
2019/06/07 Javascript
详解vue beforeRouteEnter 异步获取数据给实例问题
2019/08/09 Javascript
前端开发基础javaScript的六大作用
2020/08/06 Javascript
jquery+ajax实现异步上传文件显示进度条
2020/08/17 jQuery
通过滑动翻页效果实现和移动端click事件问题
2021/01/26 Javascript
[05:20]卡尔工作室_DOTA2新手教学_DOTA2超强新手功能
2013/04/22 DOTA
[01:23]2019完美世界全国高校联赛(春季赛)合肥全国总决赛
2019/06/10 DOTA
[36:20]KG vs SECRET 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
Python中__name__的使用实例
2015/04/14 Python
python查看列的唯一值方法
2018/07/17 Python
Python给定一个句子倒序输出单词以及字母的方法
2018/12/20 Python
卸载tensorflow-cpu重装tensorflow-gpu操作
2020/06/23 Python
美国购买和销售礼品卡平台:Raise
2017/01/13 全球购物
公司开业庆典主持词
2014/03/21 职场文书
大学生新学期计划书
2014/04/28 职场文书
社区综治宣传月活动总结
2014/07/02 职场文书
工厂见习报告范文
2014/10/31 职场文书
高三物理教学反思
2016/02/20 职场文书
八年级作文之感悟亲情
2019/11/20 职场文书
《现实主义勇者的王国再建记》第三弹OST全曲试听片段公开
2022/04/04 日漫
LeetCode189轮转数组python示例
2022/08/05 Python