作者|王向君简介|深耕电商业务的数据分析师和数据产品经理,致力于数据驱动业务增长。知乎专栏|https://zhuanlan.zhihu.com/wangxiangjun

利用Python自动发送钉钉数据消息

现在大部分公司都使用钉钉作为内部的主要沟通工具,钉钉消息基本都上都能快速有效的被阅读,打开率会比邮件高上不少。所以准备使用钉钉来播报平台每日的成交额,并附上一些鼓励的话和图片。起到一个激励团队的作用。

首先在要发送的群的群设置中添加一个自定义机器人,并复制机器人的webhook也就是代码中要用到的URL,如下图所示:


然后利用Python设置一个每周一到周日循环播放昨日成交额的markdown类型类型,最终效果截图如下图所示:

接下来附上实际代码,所有代码都有注释:

import datetimeimport jsonimport urllib.requestimport pymysql as pms

def get_Copywriting():# 判断当天是周几选择出文案的函数#获取当天日期    today = datetime.date.today()#获取当天是周几    todayweek = datetime.date.isoweekday(today)#利用IF语句判断周几选出当天要发送的文案if todayweek == 1:        Copywriting = "### 每日数据  \n > 所有的成绩都始于默默搬砖!昨天的成交达到**%s**美金啦~感谢所有默默搬砖的你们,今天还是要以正能量的姿态迎接更大的挑战,加油,小伙伴们\n\n > ![screenshot](https://images-global.kikuu.com/upload-productImg-1535016385314.jpeg)\n  > ##### 10点00分发布 [BI部门](http://data.kikuu.com:8007/dashboard/?project=default#dashid=28) "elif todayweek == 2:        Copywriting = "### 每日数据  \n > 如果有些事无法回避,那我们能做的,就是把自己变得更强大,强大到能够应对这一次挑战。送走昨日**%s**美金成交的历史,今日又是富有挑战的一天~\n\n > ![screenshot](https://images-global.kikuu.com/upload-productImg-1535016385314.jpeg)\n  > ##### 10点00分发布 [BI部门](http://data.kikuu.com:8007/dashboard/?project=default#dashid=28) "elif todayweek == 3:        Copywriting = "### 每日数据  \n > 努力是人生的一种精神状态,往往最美的不是成功的那一刻,而是那段努力奋斗的过程。伙伴们,昨日又是一个漂亮的翻身仗,成交**%s**美金啦,愿你努力后的今天更精彩。早安!\n\n > ![screenshot](https://unsplash.com/photos/rYWKAgO7jQg)\n  > ##### 10点00分发布 [BI部门](http://data.kikuu.com:8007/dashboard/?project=default#dashid=28) "elif todayweek == 4:        Copywriting = "### 每日数据  \n > 昨日的辛勤劳作又有了新突破,昨日成交已经**%s**美金啦~不抛弃不放弃,没有办法的时候,死磕也是种办法。\n\n > ![screenshot](https://images-global.kikuu.com/upload-productImg-1535019037528.jpeg)\n  > ##### 10点00分发布 [BI部门](http://data.kikuu.com:8007/dashboard/?project=default#dashid=28) "elif todayweek == 5:        Copywriting = "### 每日数据  \n > 明天就是周末了,嘘~~~不要笑出声。昨天平台成交**%s**美金恩,现在可以笑出来了。又是新的一天,加油。\n\n > ![screenshot](https://images-global.kikuu.com/upload-productImg-1535016385314.jpeg)\n  > ##### 10点00分发布 [BI部门](http://data.kikuu.com:8007/dashboard/?project=default#dashid=28) "elif todayweek == 6:        Copywriting = "### 每日数据  \n > 辛勤的付出才能得到我们想要的回报,一味的幻想,只会让你离梦想越来越远。看,我们的梦想又近了一步,昨日已经**%s**美金啦,成功已越来越近啦~\n\n > ![screenshot](https://images-global.kikuu.com/upload-productImg-1535016385314.jpeg)\n  > ##### 10点00分发布 [BI部门](http://data.kikuu.com:8007/dashboard/?project=default#dashid=28) "elif todayweek == 7:        Copywriting = "### 每日数据  \n > 把弯路走直的人是聪明的,因为找到了捷径;把直路走弯的人是豁达的,因为可以多看几道风景;路不在脚下,路在心里。告诉大家一个好消息,昨日成交**%s**美金啦,各位早安,愿好。\n\n > ![screenshot](https://images-global.kikuu.com/upload-productImg-1535016385314.jpeg)\n  > ##### 10点00分发布 [BI部门](http://data.kikuu.com:8007/dashboard/?project=default#dashid=28) "return Copywriting

def send_request(url, datas):#传入url和内容发送请求# 构建一下请求头部    header = {"Content-Type": "application/json","Charset": "UTF-8"    }    sendData = json.dumps(datas)  # 将字典类型数据转化为json格式    sendDatas = sendData.encode("utf-8")  # python3的Request要求data为byte类型# 发送请求    request = urllib.request.Request(url=url, data=sendDatas, headers=header)# 将请求发回的数据构建成为文件格式    opener = urllib.request.urlopen(request)# 7、打印返回的结果print(opener.read())

def get_datas(sql):# 一个传入sql导出数据的函数# 跟数据库建立连接    conn = pms.connect(host='实例地址', user='用户名',                       passwd='密码', database='库名', port=3306, charset="utf8")# 使用 cursor() 方法创建一个游标对象 cursor    cur = conn.cursor()# 使用 execute() 方法执行 SQL    cur.execute(sql)# 获取所需要的数据    datas = cur.fetchall()# 关闭连接    cur.close()# 返回所需的数据return datas

def main():#按照钉钉给的数据格式设计请求内容  链接https://open-doc.dingtalk.com/docs/doc.htm?spm=a219a.7629140.0.0.p7hJKp&treeId=257&articleId=105735&docType=1    my_data = {"msgtype": "markdown","markdown": {"title": "每日早报","text": " "                     },"at": {

"isAtAll": True        }    }#获取当天文案    my_Copywriting = get_Copywriting()#获取昨日成交    my_mydata = get_datas("SELECT sum(usdAmount) FROM dplus_source_productorder_v2 WHERE RealPaidTime >= '2018-08-20 00:00:00' AND RealPaidTime <= '2018-08-20 23:59:59'")#获取昨日成交的数值    my_mydata = my_mydata[0][0]# 保留2位小数    my_mydata = "%.2f" % my_mydata#把文案中的金额替换为昨天成交金额    my_Copywriting = my_Copywriting % my_mydata#把文案内容写入请求格式中    my_data["markdown"]["text"] = my_Copywriting#你的钉钉机器人url    my_url = "复制钉钉你的机器人url地址"    send_request(my_url, my_data)

if __name__ == "__main__":    main();

钉钉自定义机器人还可以发送文本和链接消息,也就是请求的内容不一样,原理都是一致的,具体数据格式钉钉开发平台有解释,代码中也附有钉钉说明链接地址。

最后本人是我win10系统,利用系统自带的任务计划程序建立一个每日10点自动执行Python脚本的任务,就可以每日自动发送钉钉消息了、当然大家有条件的放到服务器执行更加好。毕竟电脑不开机就没法自动执行任务了。

今天分享就到这里啦!各位看官如果喜欢,那就点个赞呗!!!

近期推荐阅读:

【1】整理了我开始分享学习笔记到现在超过250篇优质文章,涵盖数据分析、爬虫、机器学习等方面,别再说不知道该从哪开始,实战哪里找了【2】【终篇】Pandas中文官方文档:基础用法6(含1-5)

如果你觉得文章不错的话,分享、收藏、在看、留言666是对老表的最大支持。

python global用法_利用Python自动发送钉钉数据消息相关推荐

  1. python global用法_【python测试开发栈】python基础语法大盘点

    周边很多同学在用python,但是偶尔会发现有人对python的基础语法还不是特别了解,所以帮大家梳理了python的基础语法(文中的介绍以python3为例).如果你已然是python大牛,可以跳过 ...

  2. python发送邮箱_利用Python自动发送电子邮件

    在利用Python进行发送邮件时主要借助smtplib和email两个模块,其中smtplib主要用来建立服务器链接.服务器断开的工作,而email模块主要用来设置一些与邮件本身相关的内容,比如收件人 ...

  3. python高斯求和_利用Python进行数据分析(3)- 列表、元组、字典、集合

    本文主要是对Python的数据结构进行了一个总结,常见的数据结构包含:列表list.元组tuple.字典dict和集合set. image 索引 左边0开始,右边-1开始 通过index()函数查看索 ...

  4. python照片墙地图_利用python生成照片墙的示例代码

    PIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了.其官方主页为:PIL. PIL历 ...

  5. python提醒事件_利用python实现短信和电话提醒功能的例子

    有时候,我们需要程序帮我们自动检测某些事件的发生 这个需求是广泛存在的 因此,这里整理了利用python实现短信和电话提醒功能的方法 主要需要完成以下4个步骤: - 安装核心库:twilio - 注册 ...

  6. python扫雷脚本_利用 Python 实现 自动扫雷 小脚本

    原标题:利用 Python 实现 自动扫雷 小脚本 自动扫雷一般分为两种,一种是读取内存数据,而另一种是通过分析图片获得数据,并通过模拟鼠标操作,这里我用的是第二种方式.一.准备工作1.扫雷游戏 我是 ...

  7. python绘图库_利用python中的绘图库绘图的方法介绍

    matplotlib是Python最著名的绘图库,本文给大家分享了利用matplotlib+numpy绘制多种绘图的方法实例,其中包括填充图.散点图(scatter plots).. 条形图(bar ...

  8. python图色检测_利用python打开摄像头及颜色检测方法

    最近两周由于忙于个人项目,一直未发言了,实在是太荒凉了....,上周由于项目,见到Python的应用极为广泛,用起来也特别顺手,于是小编也开始着手学习Python,-下面我就汇报下今天的学习成果吧 小 ...

  9. python selenium截图_利用 Python + Selenium 实现对页面的指定元素截图(可截长图元素)...

    对WebElement截图 WebDriver.Chrome自带的方法只能对当前窗口截屏,且不能指定特定元素.若是需要截取特定元素或是窗口超过了一屏,就只能另辟蹊径了. WebDriver.Phant ...

  10. python音频聚类_利用python的KMeans和PCA包实现聚类算法

    题目: 通过给出的驾驶员行为数据(trip.csv),对驾驶员不同时段的驾驶类型进行聚类,聚成普通驾驶类型,激进类型和超冷静型3类 . 利用Python的scikit-learn包中的Kmeans算法 ...

最新文章

  1. java高效编程_Java高效编程
  2. linux如何锁定文件夹,如何在没有加密的情况下保护Linux / Unix上的文件夹? | MOS86...
  3. 鸿蒙测试机型微博,华为多款机型开启鸿蒙尝鲜:微博已适配HarmonyOS小尾巴
  4. 晶晶赴约会(信息学奥赛一本通-T1049)
  5. 大白话Pyramid Vision Transformer
  6. APE代码解读系列(四)
  7. OpenCV的序列数据结构(CvSeq)
  8. linux怎么使用西部数据,「轉」Linux下西部数据C1门解决方法
  9. 【chp3】代码调试-车万翔-自然语言处理:基于预训练模型的方法
  10. jQuery 梁桐老师笔记 - 选择器
  11. JFlow:真心服务中国IT产业
  12. 泰坦尼克号数据挖掘项目实战——Task6 模型调优
  13. 2018年春招实习面试经验总结
  14. 一圆形游泳池如图所示,现在需在其周围建一圆形过道,并在其四周围上栅栏。栅栏价格为35元/米,过道造价为20元/平方米。过道宽度为3米,游泳池半径由键盘输入。要求编程计算并输出过道和栅栏的造价。
  15. Excel 链接的图片
  16. 计算机word文档无法预览,电脑打开Word文档内容显示不全或显示空白怎么解决
  17. git版本控制常用指令
  18. c++主线程和子线程
  19. android在google map上画出导航路线图
  20. HANA数据自助查询

热门文章

  1. 实现滑动到中间变大的效果
  2. actions vuex 请求_vuex中actions请求的数据提交给mutations,组件中获取到参数如何根据参数操作下面...
  3. 88是python语言的整数类型_python基本数据类型练习
  4. .net byte转java byte_「Java知识收集整理」Java语法的基础
  5. dd命令打包多个文件_linux下如何tar打包多个并列文件夹,如:将a文件夹 b文件夹 c文件夹,打包成d.tar文件...
  6. 西门子滚筒洗衣机教程_西门子洗衣机优缺点
  7. 计算机窗口显示桌面,Windows Server 2012 R2在桌面上显示计算机/网络图标
  8. php获取当月的天数,php获取当月的天数及上月第一天和最后一天等数据 - YangJunwei...
  9. (4)二进制文件方式部署Kubernetes高可用集群----------安装kubectl命令行工具
  10. Dart教程(三):类的定义和使用