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基于scrapy采集数据时使用代理服务器的方法
Apr 16 Python
Python抓取百度查询结果的方法
Jul 08 Python
Python入门_学会创建并调用函数的方法
May 16 Python
利用Python操作消息队列RabbitMQ的方法教程
Jul 19 Python
使用实现XlsxWriter创建Excel文件并编辑
May 04 Python
pandas使用apply多列生成一列数据的实例
Nov 28 Python
用Python实现BP神经网络(附代码)
Jul 10 Python
python中sort和sorted排序的实例方法
Aug 26 Python
Selenium及python实现滚动操作多种方法
Jul 21 Python
用sleep间隔进行python反爬虫的实例讲解
Nov 30 Python
python实现视频压缩功能
Dec 18 Python
python使用pycharm安装pyqt5以及相关配置
Apr 22 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
转生史莱姆:萌王第一次撸串开心到飞起,哥布塔撸串却神似界王神
2018/11/30 日漫
jQuery+php实现ajax文件即时上传的详解
2013/06/17 PHP
Nginx服务器上安装并配置PHPMyAdmin的教程
2015/08/18 PHP
yii2.0整合阿里云oss上传单个文件的示例
2017/09/19 PHP
php利用ob_start()清除输出和选择性输出的方法
2018/01/18 PHP
jQuery图片滚动图片的效果(另类实现)
2013/06/02 Javascript
javascript操作字符串的原生方法
2014/12/22 Javascript
PHP+mysql+Highcharts生成饼状图
2015/05/04 Javascript
js预加载图片方法汇总
2015/06/15 Javascript
Angular2 环境配置详细介绍
2016/09/21 Javascript
Highcharts+NodeJS搭建数据可视化平台示例
2017/01/01 NodeJs
AngularJS 单选框及多选框的双向动态绑定
2017/04/20 Javascript
jQuery Form插件使用详解_动力节点Java学院整理
2017/07/17 jQuery
从零开始搭建一个react项目开发
2018/02/09 Javascript
vue axios基于常见业务场景的二次封装的实现
2018/09/21 Javascript
Python中使用动态变量名的方法
2014/05/06 Python
零基础学Python(一)Python环境安装
2014/08/20 Python
python使用自定义user-agent抓取网页的方法
2015/04/15 Python
python调用OpenCV实现人脸识别功能
2018/05/25 Python
python3实现字符串的全排列的方法(无重复字符)
2018/07/07 Python
Django 过滤器汇总及自定义过滤器使用详解
2019/07/19 Python
如何使用Python脚本实现文件拷贝
2019/11/20 Python
python使用openpyxl操作excel的方法步骤
2020/05/28 Python
python 视频下载神器(you-get)的具体使用
2021/01/06 Python
CSS3实现圆角、阴影、透明效果并兼容各大浏览器
2014/08/08 HTML / CSS
Jabra捷波朗美国官网:用于办公、车载和运动的无线蓝牙耳麦
2017/02/01 全球购物
父亲八十大寿答谢词
2014/01/23 职场文书
电视购物广告词
2014/03/19 职场文书
公司承诺书格式
2014/05/21 职场文书
鲁迅故里导游词
2015/02/05 职场文书
会计岗位工作总结
2015/08/12 职场文书
个人的事迹材料怎么写
2019/04/24 职场文书
nginx对http请求处理的各个阶段详析
2021/03/31 Servers
JavaWeb 入门:Hello Servlet
2021/07/16 Java/Android
20180830晚上第一届KSL半决赛 雨神vs解冻(二龙 三炮解说)
2022/04/01 星际争霸
Mysql查询时间区间日期列表,不会由于数据表数据影响
2022/04/19 MySQL