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算法之栈(stack)的实现
Aug 18 Python
DJANGO-ALLAUTH社交用户系统的安装配置
Nov 18 Python
python3简单实现微信爬虫
Apr 09 Python
菜鸟使用python实现正则检测密码合法性
Jan 05 Python
Python 字典与字符串的互转实例
Jan 13 Python
详解Python 协程的详细用法使用和例子
Jun 15 Python
python实现自动发送邮件
Jun 20 Python
Python实现数据可视化看如何监控你的爬虫状态【推荐】
Aug 10 Python
python集合比较(交集,并集,差集)方法详解
Sep 13 Python
python验证码图片处理(二值化)
Nov 01 Python
Pytorch之保存读取模型实例
Dec 30 Python
PyTorch中的拷贝与就地操作详解
Dec 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
PHP网页游戏学习之Xnova(ogame)源码解读(六)
2014/06/23 PHP
PHP长网址与短网址的实现方法
2017/10/13 PHP
jQuery使用手册之二 DOM操作
2007/03/24 Javascript
ExtJs 3.1 XmlTreeLoader Example Error
2010/02/09 Javascript
js获取RadioButtonList的Value/Text及选中值等信息实现代码
2013/03/05 Javascript
JS实现金额转换(将输入的阿拉伯数字)转换成中文的实现代码
2013/09/30 Javascript
Javascript中拼接大量字符串的方法
2015/02/05 Javascript
JavaScript实现点击单选按钮改变输入框中文本域内容的方法
2015/08/12 Javascript
jQuery验证插件validate使用详解
2016/05/11 Javascript
详解webpack 入门总结和实践(按需异步加载,css单独打包,生成多个入口文件)
2017/06/20 Javascript
浅谈es6 javascript的map数据结构
2017/12/14 Javascript
vue forEach循环数组拿到自己想要的数据方法
2018/09/21 Javascript
JS中的算法与数据结构之链表(Linked-list)实例详解
2019/08/20 Javascript
浅谈vue中组件绑定事件时是否加.native
2019/11/09 Javascript
vue 在单页面应用里使用二级套嵌路由
2020/12/19 Vue.js
python基础教程之udp端口扫描
2014/02/10 Python
python和pyqt实现360的CLable控件
2014/02/21 Python
Python序列操作之进阶篇
2016/12/08 Python
Python zip()函数用法实例分析
2018/03/17 Python
值得收藏的10道python 面试题
2019/04/15 Python
详解Python 函数如何重载?
2019/04/23 Python
获取django框架orm query执行的sql语句实现方法分析
2019/06/20 Python
wxPython实现列表增删改查功能
2019/11/19 Python
python实现自动化报表功能(Oracle/plsql/Excel/多线程)
2019/12/02 Python
Python web如何在IIS发布应用过程解析
2020/05/27 Python
Python3爬虫中识别图形验证码的实例讲解
2020/07/30 Python
Python爬虫自动化爬取b站实时弹幕实例方法
2021/01/26 Python
一套PHP的笔试题
2013/05/31 面试题
学生会干部自荐信
2014/02/04 职场文书
保护环境倡议书
2014/04/14 职场文书
幼儿园课题方案
2014/06/09 职场文书
总经理检讨书
2014/09/15 职场文书
怀孕辞职信怎么写
2015/02/28 职场文书
PostgreSQL将数据加载到buffer cache中操作方法
2021/04/16 PostgreSQL
Python爬取英雄联盟MSI直播间弹幕并生成词云图
2021/06/01 Python
能用CSS实现的就不要麻烦JavaScript了
2021/10/05 HTML / CSS