当前位置: 首页 > article >正文

python脚本(一):飞书机器人实现新闻抓取与推送

根据飞书官方文档描述,可以在群组内增加飞书机器人来实现信息推送

自定义机器人使用指南 - 开发指南 - 开发文档 - 飞书开放平台

一、基于官方文档写一个基本文本推送的demo

# feishu_notifier.py
import requests
import json

def send_feishu_message(content, webhook_url, msg_type='text'):
    """
    发送消息到飞书机器人

    :param content: 消息内容(字符串或字典格式)
    :param webhook_url: 飞书机器人Webhook地址
    :param msg_type: 消息类型,默认为'text'
    :return: API响应内容或异常信息
    """
    payload = {
        "msg_type": msg_type,
        "content": {
            "text": content  # 自动处理字符串类型
        } if isinstance(content, str) else content
    }

    try:
        response = requests.post(
            webhook_url,
            headers={"Content-Type": "application/json"},
            data=json.dumps(payload)
        )
        response.raise_for_status()
        return response.json()
    except requests.exceptions.RequestException as e:
        return {"status": "error", "message": str(e)}

        在其他文件可以通过引用该文件的概述实现信息推送,推送机器人的url可以在函数给默认值,或从外部传入。

二、通过访问开放api来获取新闻信息

我这里使用的链接是 'https://api.vvhan.com/api/hotlist/all',

可以获取到各个平台实时热度最高的新闻

然后对于新闻内容进行解析分类即可推送到飞书群组。

效果图如下

if __name__ == "__main__":
    # 测试配置
   

    # 执行完整流程
    result = send_platform_updates(FEISHU_WEBHOOK, CONFIG["MAX_ITEMS_PER_PLATFORM"])

    # 示例输出预览
    print("\n测试用例输出:")
    test_data = {
        "success": True,
        "data": [{
            "name": "微博",
            "update_time": "2025-02-19 21:00:00",
            "data": [{
                "title": "测试标题",
                "hot": "123.4万",
                "url": "https://example.com"
            }]
        }]
    }
    platforms = group_by_platform(test_data)
    print(format_platform_message("微博", platforms["微博"], 5))

代码稍微有点长,等有空放到git上。


http://www.kler.cn/a/557583.html

相关文章:

  • socket()函数的概念和使用案例
  • Android:权限permission申请示例代码
  • C++ 设计模式-模板方法模式
  • 【Python】Python顺序语句经典题合集
  • java开发——为什么要使用动态代理?
  • hot100_74. 搜索二维矩阵
  • Unity FBXExport导出的FBX无法在Blender打开
  • ZT7 小红的排列构造
  • 【Python爬虫(46)】解锁分布式爬虫:实时数据处理的奥秘
  • 在Django中安装、配置、使用CKEditor5,并将CKEditor5录入的文章展现出来,实现一个简单博客网站的功能
  • 人工智能三剑客:符号主义、连接主义与行为主义的较量与融合
  • RocketMQ事务消息原理
  • 爬虫小案例豆瓣电影top250(json格式)
  • C++如何获取windows系统通知消息列表
  • RoCBert:具有多模态对比预训练的健壮中文BERT
  • 【Qt】可爱的窗口关闭确认弹窗实现
  • Svelte 最新中文文档教程(16)—— Context(上下文)
  • 微信小程序数据绑定与事件处理:打造动态交互体验
  • Ubuntu 22.04 Install deepseek
  • MongoDB应用设计调优