大家好,我是小一

昨天关于excel自动化的那篇文章发出之后,感觉大家对这个还挺感兴趣,并且在才哥那边有好几位读者在追问如何实现图片自动发送

说实话,有点惊讶大家对图片定时发送感兴趣,我原以为会有读者对模型的原理比较好奇呢

不过,既然大家问到了,今天也就来说说我自己在用的方法。

图片定时发送我已经用了一个多月了,目前用的挺好,没有出现什么奇怪的问题,所以这个方法应该也比较成熟,大家都可以自己去复现一下

当然了, 如果有比我分享的更好用的方法(肯定会有),可以在留言区留言,大家一起学习一下。

先说一下我的实现原理:上传图床+群机器人+定时发送

对了,在进行图片自动化发送的时候,我默认你是已经可以把excel表格转化成本地图片了

先来说第一个,图床

在自动化发送图片的时候,我在想一个问题:你要发的图片要能在线显示,或者在在线显示有问题的时候用户还可以点击链接查看。于是,必备的两个条件:在线显示+链接

能完美解决上面的问题的,我能想到的有一个办法:图床

将图片上传到xxx图床平台,之后在访问的时候只需要点击该图片对应的访问url就行

一般常用的免费图床平台有github、gitee、SMS等等,还有一些像csdn、微博、知乎等可以用的,付费的像xx云平台这种,可能会更稳定,但是目前我用了一个月免费的,也没有发现什么问题,所以就不推荐大家去用付费的

刚开始的时候,我用的是github(因为一直在用github做代码管理),上传图片是没有什么问题,但是如果你没有访问工具,一般10次有9次图片是无法在线预览的,即使你使用url访问也会经常挂掉。

之后我去试了SMS图床,比github好点,但是偶尔还是会挂掉

最后我用了gitee,就再也没有发生过问题了。

总结,图床推荐大家用gitee,把你用excel生成的图片上传到gitee

需要注意图片的名称不能重复,最好是用时间戳命名

另外,如何上传图片到gitee,bing搜索关键字:上传图片到gitee,你会找到你想要的答案,不赘述了

再来说第二个,群机器人

如果你选择的是用邮件通知,可以参考以前写过的Python操作邮件发送的那篇文章

今天讲的是通过群机器人进行通知,这里的群可以是微信群也可以是钉钉群,推荐用后者。因为官方做了详细的接口,稍微设置一下,三两行代码就能直接用来发送群消息

首先我们打开钉钉,随便拉2个人,创建一个群聊,点击群设置中的智能群助手。

进入到机器人管理页面,点击添加机器人,进入机器人选择页面,这里选择自定义机器人。

需要给机器人修改头像和名称,在安全设置里面,建议最好把自定义关键字也勾选上,比如我这里设置的是:定时推送,然后其他的可以默认,点击完成后在新的页面有一个webhook

这个比较重要,后面要用到,一定要备份好

总结,这里需要注意的有两个:一个机器人的webhook,一个是自定义关键字

再来说第三个,定时推送

这个我记得我有写过详细的教程,一篇是linux下的,基于cron服务进行程序的定时执行;一篇是window下,通过任务计划程序进行程序的定时执行。

感兴趣的可以点击学习下:

  • win10下自动化任务,五步快速实现

  • linux下自动化任务,三步快速实现

这里,我直接贴如何调用上一步的webhook进行消息通知

我使用钉钉机器人的原因是官方做了非常详细的接口和使用文档,用两三行代码可以直接调用

以下是官方文档,非常详尽:

https://open.dingtalk.com/document/robots/custom-robot-access?spm=ding_open_doc.document.0.0.62846573TCzj7A#topic-2026027

因为机器人可以发送markdown形式的通知,而markdown是一种卡片式的、可以在线进行预览的消息通知,刚好就很适合我们这次的需求

对应的消息通知的格式化代码如下:

url = 'https://oapi.dingtalk.com/robot/send?access_token=' + token_dd
headers = {'Content-Type': 'application/json;charset=utf-8'}data = {"msgtype": "markdown","markdown": {"title": "定时推送","text": "策略定时推送中,当前可操作:\n {0} \n 图片若无法查看,[请点击此处]({1}) \n\n请谨慎操作!!\n".format(md_pic_url, pic_url)},"at": {"isAtAll": at_all},
}res = requests.post(url, data=json.dumps(data), headers=headers)
print(res.text)

上面的代码中有四个参数需要设置,分别是:token_dd、md_pic_url、pic_url、at_all,分别解释一下:

  • token_dd:上一步中webhook中的token

  • at_all:是否@全体成员,True表示是

  • pic_url:上传到图床的图片链接

  • md_pic_url:markdown形式的图片链接,示例:![名称 ](pic_url)

需要注意你的通知内容中需要包含上一步设置的关键字,例如我将title的名字设置成了关键字定时推送

上述操作你成功设置了之后,运行代码之后,你的钉钉群会收到这样一个消息通知:

图片下方有一个请点击此处的蓝色超链接,当钉钉群的图片因为网络波动的原因无法显示,群用户就可以通过点击这个链接进行查看

是不是很方便呢

以上就是本次的所有内容,感兴趣的同学可以实操一下,也欢迎其他有更好用的方法的同学一起分享

我是小一,下节见!

别光顾着收藏文章,点赞走起

用Python定时发送图片到群消息,并艾特了所有人!相关推荐

  1. 使用python 定时发送微信信息给喜欢的人

    原创 使用python 定时发送微信信息给喜欢的人 2019-11-08 16:34:18 冒牌技术小哥 阅读数 171 文章标签: python 更多 分类专栏: python 版权声明:本文为博主 ...

  2. python定时发送微信消息_Python3 itchat实现微信定时发送群消息的实例代码

    一.简介 1,使用微信,定时往指定的微信群里发送指定信息. 2,需要发送的内容使用excel进行维护,指定要发送的微信群名.时间.内容. 二.py库 1,itchat:这个是主要的工具,用于连接微信个 ...

  3. #萌新日志#4.使用Python定时发送微信消息

    #萌新记录某些日子的学习经历.# 前言: 因为某些原因我需要用自己私人微信号在特定时间给某人发送消息.在网上查阅了一番资料后,我不太打算调用第三方微信接口,原因是我担心这些API的使用会被微信检测到, ...

  4. 微信企业号:shell定时发送图片 到 指定人

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 #!/bin/bash #返回acce ...

  5. python 微信发送图片给好友_Python给指定微信好友自动发送信息和图片

    importosimport win32gui #pywin32-221.win-amd64-py3.7.exeimportwin32con from ctypesimport * importwin ...

  6. python定时发送信息_python实现定时发送消息

    #!/usr/bin/env python #-*- coding:utf-8 -*- @Author : wujf @Time:2018/8/21 15:59 # 自动发送消息 from threa ...

  7. 树莓派定时发送图片到服务器

    文章目录 一. 概述 二.相关环境及使用材料说明 三.具体实现过程 1.服务器代码 2. 树莓派客户端代码 3.STM32部分代码 四.定时任务的实现 五.演示效果图 一. 概述 采用树莓派4B + ...

  8. Python 定时发送【每日天气】和【每日简报】至【邮件】或【钉钉】(代码部署在云服务器)

    思路: 1.爬取当前所在城市的天气(实时) 2.爬取每天一分钟,知晓天下事,新闻简报(最新一天) 3.利用python将天气和简报发送至指定邮箱 或 发送至钉钉群(借助自定义机器人) 4.在本地测试通 ...

  9. 【Python定时发送消息到微信】

    前言 哔咘:"你看下明天天气呢?我好准备明天穿的衣服鞋子." 叭卟没做回应,心想怎么又问啊,自己不知道看吗. 哔咘一个温柔的眼神,叭卟立刻回答道:"要得,天气预报马上看. ...

最新文章

  1. 想要快速获客?送你 2 个小程序互推方法
  2. html语言怎么那么难用,css语言难学吗?
  3. Spring Data MongoDB中的审核实体
  4. 工作309:selectaccount方法接收值
  5. 《SpringCloud超级入门》Spring Boot Starter的介绍及使用《七》
  6. 微软原版win10系统启动盘的制作
  7. 自动驾驶-激光雷达预处理/特征提取
  8. jeb java_jeb2 java 脚本插件
  9. NoSQLBooster for MongoDB 7.0.5
  10. JAVA API (application programming interface)
  11. 生产计划排产软件三大操作流程
  12. When and why vgs command can change metadata and incur old metadata to be backed up?
  13. iOS 页面的卡顿的原因以及如何解决. 如何优化app的启动速度
  14. UE4设置默认游戏模式和关卡
  15. 甲骨文数据库购买的价格(一)
  16. Conway’s Game of Life介绍及实现
  17. 100多个优秀的互联网编程学习平台整理。
  18. cisco 3548x 低延时交换机erspan获取ns时间戳
  19. 基于UI组件的Vue可视化布局、快速生成.vue代码
  20. 电脑中存储的文件怎么打印出来?

热门文章

  1. 中华人民共和国教师法
  2. 鸿蒙系统手机开机,华为手机鸿蒙 OS 2.0 开机界面终于去掉了 Powered by Android
  3. 处理podman的overlay-containers中ctr.log日志文件过大的问题
  4. 网络爬虫笔记—图形验证码获取
  5. 因女友一个建议,这位程序员创立仅 551 天公司就被 10 亿美元收购了...
  6. 智慧教育将基于计算机网络,智慧教育将基于计算机网络的信息服务融入学校的各个应用与服务领域,实现互联和协作。()...
  7. 项目全生命周期管理、资产成果沉淀展示、算力资源灵活调度丨ModelWhale 云端协同创新平台全面赋能数据驱动科研工作
  8. Excel信息熵法求权
  9. Javascript知识整理
  10. ROM定制与开发-ROM系统结构和分区解析