爬虫-接入钉钉机器人

前言

又间隔了好久都没发博客了,心血来潮来写写博客,今天就写一下用pthon实现钉钉群机器人自动发消息的功能吧,也就是通过去爬取数据,通过钉钉内置的群机器人去做一个自动通知的这么一个操作

钉钉机器人相关文档

链接: 钉钉群机器人开放文档首先大家可以了解一下钉钉机器人相关的一些规则以及相关API
钉钉现在支持的消息类型如下:
机器人可以发送哪些消息类型
根据机器人可以发送的消息类型内容不同,分为基础消息、互动卡片消息。

基础消息。基础消息支持发送以下内容,详情请查看基础消息类型图及数据格式。
–文本
–链接消息
–ActionCard
–FeedCard类型
–Markdown类型等
–互动卡片消息

群聊机器人配置

第一步:群聊中添加一个自定义通过Webhook接入的机器人
在这里插入图片描述
此处会有安全设置,建议进行一个安全设置的配置
自定义关键词:设定后,只有包含关键词的消息内容才会被正常发送
加密:加密,当相关的秘钥跟sign不对应时,无法发送消息
IP地址段:设定后,只有来自IP地址范围内的请求才会被正常处理
在这里插入图片描述
加密的话,钉钉API文档已经给出了相关的加密代码了,这里就只贴python的加密代码了

#python 3.8
import time
import hmac
import hashlib
import base64
import urllib.parsetimestamp = str(round(time.time() * 1000))
secret = 'this is secret'
secret_enc = secret.encode('utf-8')
string_to_sign = '{}\n{}'.format(timestamp, secret)
string_to_sign_enc = string_to_sign.encode('utf-8')
hmac_code = hmac.new(secret_enc, string_to_sign_enc, digestmod=hashlib.sha256).digest()
sign = urllib.parse.quote_plus(base64.b64encode(hmac_code))
print(timestamp)
print(sign)

获取到相关的时间戳和sign后再通过接口进行请求即可
下面展示一些 内联代码片

// A code block
var foo = 'bar';
https://oapi.dingtalk.com/robot/send?access_token=XXXXXX&timestamp=XXX&sign=XXX

钉钉群机器人实战

下面展示一些 内联代码片

# !/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
@Time : 2022/10/31 18:29
@Author : D_FIRE
@Email : dfire_liao@189.cn
@File : 1.py
@Software: PyCharm
"""
import json
import requests
import time
import hmac
import hashlib
import base64
import urllib.parse
import urllib3# 获取商品相关信息
def get_itemmessage():url = 'http://xx.xx.xx.xx:xxxx/api/order/query'jsondata = dict(date="2022-03-02 10:20:46", data={"genTlogTicketId": 1,"attributes": ["items","shipping","payment","express","invoice","channel","channelInfo"],"orderId": 111966168578820096,"pageParam": {"count": 1,"start": 0}}, appId="storewin_uat", sign="FA595084D34D3266D2E9C4881CAD1A00", certiId="storewin_uat")req = requests.post(url=url, json=jsondata)# 商品名称、单价、数量、总价itemname = req.json()["data"][0]["items"][0]["itemNameZht"]itemprice = req.json()["data"][0]["items"][0]["actualPrice"]itemqty = req.json()["data"][0]["items"][0]["orderQty"]allprice = req.json()["data"][0]["items"][0]["itemAmount"]if itemname:res = {"商品名称": itemname,"商品价格": itemprice,"商品数量": itemqty,"商品总价": allprice}yield res# 钉钉机器人验签方法
timestamp = str(round(time.time() * 1000))
secret = '{你的秘钥}'
secret_enc = secret.encode('utf-8')
string_to_sign = '{}\n{}'.format(timestamp, secret)
string_to_sign_enc = string_to_sign.encode('utf-8')
hmac_code = hmac.new(secret_enc, string_to_sign_enc, digestmod=hashlib.sha256).digest()
sign = urllib.parse.quote_plus(base64.b64encode(hmac_code))def dingmessage():urllib3.disable_warnings()# 请求的URL,WebHook地址webhook = f"https://oapi.dingtalk.com/robot/send?access_token={你的秘钥}&timestamp={timestamp}&sign={sign}"# 构建请求头部header = {"Content-Type": "application/json", "Charset": "UTF-8"}for itemmessage in get_itemmessage():message = {"at": {# 是否@所有人"isAtAll": True},"text": {# 发送信息"content": f"爬取信息如下:{itemmessage}"},# 发送类型"msgtype": "text"}message_json = json.dumps(message)info = requests.post(url=webhook, data=message_json, headers=header, verify=False)  # 打印返回的结果print(info.text)if __name__ == "__main__":dingmessage()

成功接入效果如下:
在这里插入图片描述
如果想实现定时推送的话可以设置windows或者mac本机自带的定时任务计划程序去定时调用就好了

结语

钉钉公司用的少,现在想爬点东西下来每天定时推送,但是还没想到要去爬什么,如果看到这篇博客的你有啥建议的话可以留言哦。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/69459.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ruminococcus gnavus

Capsular polysaccharide correlates with immune response to the human gut microbe Ruminococcus gnavus 有趣的是,R. gnavus在克罗恩病患者短暂开花(10),并与多种其他免疫疾病有关如狼疮(11)&#xff…

小小的纳豆居然有这么多好处,难怪岛国人为它疯狂

纳豆,起源于中国古代,自秦汉(公元前221年-公元220年)以来开始制作,由黄豆通过纳豆菌(枯草杆菌)发酵制成豆制品,具有黏性,气味较臭,味道微甜,不仅保…

[文献分享] 父母炎症性肠病与儿童自闭症(国家登记数据队列研究、连锁不平衡分数回归、多基因风险评分、孟德尔随机化)

文献来源:Sadik A, Dardani C, Pagoni P, et al. Parental inflammatory bowel disease and autism in children. Nat Med. 2022;28(7):1406-1411. doi:10.1038/s41591-022-01845-9 目录 1.基本信息 2. 主要内容概览: 3. 主要结果 3.1. Study 1: Pare…

如何解读肠道菌群检测报告中维生素指标

​在谷禾肠道菌群健康检测中,我们会看到结果报告中关于维生素的评估如下: 摄入水平建议保持在70-80分之间最佳,如果单项指标低于5表明摄入比例在人群中属于最低的5%,评估为缺乏,如上图中维生素B2;低于15评估…

生命早期肠道微生物群与儿童呼吸道疾病之间的关联

谷禾健康 儿童呼吸系统疾病,包括呼吸道感染、反复喘息和哮喘,是儿童及其以后年龄发病和死亡的重要原因。 而哮喘是其中比较典型的一种,哮喘是全球最常见的慢性疾病之一,是一种复杂的、异质性的免疫介导的紊乱集合,以气…

肠道核心菌属——普拉梭菌F. prausnitzii,预防炎症的下一代益生菌

谷禾健康 Faecalibacterium prausnitzii(F. prausnitzii),普氏栖粪杆菌,又名:普拉梭菌,是人类肠道菌群中最重要的细菌之一,占健康人粪便样本中检测到的细菌总数的 5-15%,是丁酸的重要…

你想要的宏基因组-微生物组知识全在这(2023.3)

欢迎点击上方蓝色”宏基因组”关注我们! 宏基因组/微生物组是当今世界科研最热门的研究领域之一,为加强宏基因组学技术和成果交流传播,推动全球华人微生物组领域发展,中科院青年科研人员创立“宏基因组”公众号,联合海…

人类微生物组和缺失遗传力--读论文

读读论文,用谷歌学术翻译一下,重要的部分做一下笔记。正文部分是翻译,加黑部分是个人笔记。 本次学习的论文:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5468393/ 1. 摘要 “缺失遗传力”问题表明,全基因组关联…

IgA | 对抗病原菌,帮助共生菌定植的“重要开关”

导 语:关于抗体,免疫和微生物 肠道微生物群的组成因个体而异,肠道微生物群中的特定细菌类群可能是某些肠内外疾病的独特有效驱动因素。对人类而言,精准且优先识别影响疾病易感性和严重性的细菌仍然是一项重大挑战。 很多时候我们想…

随着年龄增长,我应该怎样对抗肌肉流失?

肌肉减少症,也称为肌肉损失,是一种常见疾病,影响 10% 的 50 岁以上成年人。 虽然它会降低预期寿命和生活质量,但你可以采取一些措施来预防甚至逆转这种情况。 虽然肌肉减少症的一些原因是衰老的自然结果,但其他原因是可…

为什么“隐性知识”比“刻意练习”更重要?

我与巴菲特之间的差距,找到了。 ​​编者按:“隐性知识”是不能仅通过语言获取的知识,这些知识不能光靠听和看学会,也不能靠所谓的“刻意练习”学会。就像跟着巴菲特学习投资,哪怕这位投资大师把自己的决策理念和方式…

梭杆菌(Fusobacterium)——共生菌,机会菌,癌杆菌

谷禾健康 梭杆菌属(Fusobacterium),是梭菌门最主要的菌属,厌氧革兰氏阴性细菌,与拟杆菌属、普氏菌属、卟啉单胞菌属一样都是医学上重要的厌氧革兰氏阴性杆菌。 梭杆菌属是人类和动物的身体共生菌之一,主要定…

深度学习的初学者用哪本书比较好的?

先推荐一本从基本概念和理论入手的深度学习书: 深度学习:从基础到实践(上、下册) 本书从基本概念和理论入手,通过近千张图和简单的例子由浅入深地讲解深度学习的相关知识,且不涉及复杂的数学内容。 本书分…

TaxiBGC ——分类学指导下的生物合成基因簇鉴定流程

谷禾健康 当前合成基因簇预测限制较大 微生物基因组中的生物合成基因簇 (BGC) 编码具有生物活性的次级代谢物 (SM),它可以在微生物-微生物和宿主-微生物相互作用中发挥重要作用。 鉴于次级代谢物的生物学意义和当前对微生物组代谢功能的深刻兴趣,从高通…

盘点益生菌的8大益处

益生菌是可以通过发酵食品或补充剂摄入的活微生物。越来越多的研究表明,消化系统中细菌的平衡或失衡与整体健康和疾病有关。 益生菌促进肠道细菌的健康平衡,并与广泛的健康益处有关。这些包括对减肥、消化健康、免疫功能等的好处。 这是与益生菌相关的主…

《校正病例对照微生物组研究中的批次效应》

《Correcting for batch effects in case-control microbiome studies》 文章地址:https://journals.plos.org/ploscompbiol/article?id10.1371/journal.pcbi.1006102DOI:https://doi.org/10.1371/journal.pcbi.1006102期刊:PLoS Computatio…

javaweb跳转jsp页面时变成下载jsp文件解决方法s

目录 【背景】 【问题描述】 【代码页面】 【网页显示】 【解决方法】 --我自己的尝试: 1.检查jsp代码内容是否有拼写错误 2.在pom.xml里面添加依赖 3.不要在web.xml配servlet!!【我最终的解决方法】 【成功页面】 【总结】 【背…

好文分享(IF=18.027)|口服仿细菌鞭毛纳米纤维,可助力IBD靶向诊疗

研究背景 炎症性肠病(inflammatory bowel disease, IBD)是指原因不明的一组非特异性慢性胃肠道炎症性疾病,包括溃疡性结肠炎(ulcerative colitis, UC)、克罗恩病(Crohn disease, CD)和未定型结肠…

深度学习和人工智能之间是什么样的关系?

深度学习与人工智能概念的潜在联系,我们依然借助维恩图来说明,如图4.1所示。 1、人工智能 “人工智能”这个概念新鲜时髦但又含混模糊,同时包罗万象。尽管如此,我们仍尝试对 人工智能进行定义:用一台机器处理来自其周围环境的信息,然后将这些…

实用分析工具推荐 | OmicsView:交互式可视化分析多组学数据

随着NGS技术的进步,许多疾病中人体组织的转录谱分析变得越来越常规,在公共存储库中已存储了PB级的数据。目前需要计算专业知识有限的实验室科学家能够访问和挖掘这些数据,以了解疾病病理学、识别疾病的可靠生物标志物和干预措施的效果&#x…