影刀RPA RSS订阅自动化:信息源聚合与精选推送

发布时间:2026/10/30 23:09:19

影刀RPA RSS订阅自动化:信息源聚合与精选推送 影刀RPA RSS订阅自动化信息源聚合与精选推送作者林焱 | 适用人群影刀RPA新手 | 难度★★☆☆☆一、什么情况用这个每天的信息获取渠道太多了——技术博客、行业资讯、竞品动态、政策更新。一个个打开网站看一天什么都不用干了。用RSS订阅工具吧几十个订阅源混在一起真正有价值的内容淹没在信息洪流里。用影刀RPA定时拉取RSS订阅源 → 按关键词筛选 → 去重 → 生成精选日报 → 推送到微信/钉钉/邮件。每天只需要花5分钟看精选列表机器人帮你过滤掉90%的噪声。实际场景行业资讯监控、竞品动态追踪、技术博客聚合、政策法规更新提醒。这篇文章能解决的问题Python解析RSS/Atom订阅源按关键词自动筛选文章多源去重合并生成每日精选推送二、怎么做2.1 环境准备影刀安装目录\python\python.exe-mpipinstallfeedparser店群矩阵自动化突破运营极限2.2 影刀主流程┌──────────────────────────────────────────────┐ │ ① 【执行Python代码】 │ │ 拉取所有RSS源解析文章列表 │ │ ↓ │ │ ② 【执行Python代码】 │ │ 关键词筛选 去重 │ │ ↓ │ │ ③ 【执行Python代码】 │ ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/94b84ca9fa5045f19f53f6d6104c8c68.png#pic_center) │ 生成Markdown日报 │ │ ↓ │ │ ④ 【发送企业微信消息】 │ │ 推送精选日报 │ └──────────────────────────────────────────────┘2.3 核心代码步骤①拉取RSS源importfeedparserimportjsonfromdatetimeimportdatetime,timedelta# 你的RSS订阅源列表 RSS_SOURCES[# 技术博客{name:阮一峰的网络日志,url:https://www.ruanyifeng.com/blog/atom.xml,category:技术},{name:美团技术团队,url:https://tech.meituan.com/feed.xml,category:技术},# 行业资讯{name:36氪,url:https://36kr.com/feed,category:行业},{name:虎嗅,url:https://www.huxiu.com/rss/0.xml,category:行业},# 政策法规如果有RSS源的话{name:工信部,url:https://www.miit.gov.cn/rss,category:政策},]# 关键词配置 INCLUDE_KEYWORDS[RPA,自动化,人工智能,AI,低代码,数字化转型,影刀,机器人流程,大模型,LLM,]EXCLUDE_KEYWORDS[广告,推广,招聘,融资,# 过滤掉融资新闻和招聘广告]deffetch_articles(sources,days1):拉取所有RSS源的文章all_articles[]cutoffdatetime.now()-timedelta(daysdays)forsourceinsources:try:feedfeedparser.parse(source[url])# 检查是否解析成功iffeed.bozoandnotfeed.entries:print(f⚠️ 解析失败{source[name]}→{source[url]})continueforentryinfeed.entries:# 获取发布时间publishedNoneifhasattr(entry,published_parsed)andentry.published_parsed:publisheddatetime(*entry.published_parsed[:6])elifhasattr(entry,updated_parsed)andentry.updated_parsed:publisheddatetime(*entry.updated_parsed[:6])# 跳过过旧的文章ifpublishedandpublishedcutoff:continuearticle{source:source[name],category:source[category],title:entry.get(title,无标题),link:entry.get(link,),summary:entry.get(summary,),published:published.strftime(%Y-%m-%d %H:%M)ifpublishedelse未知,}all_articles.append(article)exceptExceptionase:print(f❌ 拉取失败{source[name]}→{e})print(f共拉取{len(all_articles)}篇文章)returnall_articles articlesfetch_articles(RSS_SOURCES,days1)outputjson.dumps(articles,ensure_asciiFalse)步骤②关键词筛选 去重importjsonimportrefromhtmlimportunescape articlesjson.loads(articles_data)# 从步骤①传入defclean_html(text):清洗HTML标签# 移除HTML标签textre.sub(r[^],,text)# 处理HTML实体textunescape(text)# 移除多余空白textre.sub(r\s, ,text).strip()returntextdefmatch_keywords(text,keywords):检查文本是否包含任一关键词text_lowertext.lower()forkwinkeywords:ifkw.lower()intext_lower:returnTruereturnFalse# 筛选 filtered[]seen_titlesset()# 用于去重forarticleinarticles:# 清洗摘要summaryclean_html(article[summary])# 关键词筛选full_textarticle[title] summaryifnotmatch_keywords(full_text,INCLUDE_KEYWORDS):continue# 排除关键词ifmatch_keywords(full_text,EXCLUDE_KEYWORDS):continue# 去重基于标题的前50个字符title_keyarticle[title][:50]iftitle_keyinseen_titles:continueseen_titles.add(title_key)article[summary_clean]summary[:200]# 摘要截断filtered.append(article)print(f筛选后剩余{len(filtered)}篇精选文章)filtered_outputjson.dumps(filtered,ensure_asciiFalse)步骤③生成日报importjson articlesjson.loads(filtered_articles)# 按分类分组fromcollectionsimportdefaultdict by_categorydefaultdict(list)forainarticles:by_category[a[category]].append(a)# 生成Markdown日报lines[]lines.append(f# 每日精选资讯 ({datetime.now().strftime(%Y-%m-%d)}))lines.append(f 共筛选{len(articles)}篇有价值文章)lines.append()forcategory,itemsinby_category.items():lines.append(f##{category})lines.append()fori,iteminenumerate(items,1):lines.append(f{i}. **[{item[title]}]({item[link]})**)lines.append(f - 来源{item[source]}|{item[published]})ifitem.get(summary_clean):lines.append(f -{item[summary_clean]})lines.append()report\n.join(lines)# 保存为文件可选# with open(fD:\\日报\\RSS日报_{datetime.now().strftime(%Y%m%d)}.md, w, encodingutf-8) as f:# f.write(report)print(f日报生成完成{len(articles)}篇)report_outputreport步骤④推送【发送企业微信消息】 类型Markdown 内容{report_output} ⚠️ 注意企微消息有长度限制4096字符如果日报太长需要分段发送。2.4 发送长文本超过限制时如果日报内容超过企业微信消息限制defsplit_markdown(content,max_length4000):将Markdown按二级标题拆分为多段sectionscontent.split(\n## )# 第一段保持不动result[sections[0]]forsectioninsections[1:]:section## section# 如果当前段加上新section不超过限制合并iflen(result[-1])len(section)max_length:result[-1]\nsectionelse:result.append(section)returnresult# 分段发送segmentssplit_markdown(report_output)fori,seginenumerate(segments):print(f发送第{i1}/{len(segments)}段...)# 在影刀中对每段执行【发送企业微信消息】三、有什么坑坑1有些网站不提供RSS很多网站已经停止维护RSS了。但好消息是可以用工具生成RSSRSSHub为几乎所有中文网站生成RSS开源项目可自建rss.app付费服务为无RSS的网站生成RSS示例通过RSSHub获取微博热搜https://rsshub.app/weibo/search/hot坑2feedparser处理不规范的RSS有些RSS源格式不规范缺少时间戳、编码错误、嵌套错误feedparser会标记bozo但尽力解析。temu店群自动化报活动案例feedfeedparser.parse(url)iffeed.bozo:print(f⚠️ RSS格式有问题但尝试继续解析)print(f异常类型{type(feed.bozo_exception).__name__})如果feed.entries为空才认为真的失败了。坑3关键词匹配的准确度简单字符串匹配会有假阳性——比如搜索AI会匹配到FAITH、MAIL这些无关词。改进方案用正则表达式做词边界匹配importredefmatch_keywords_smart(text,keywords):智能关键词匹配只匹配完整单词text_lowertext.lower()forkwinkeywords:# 中文字符直接搜索ifany(\u4e00c\u9fffforcinkw):ifkwintext_lower:returnTrueelse:# 英文单词用词边界匹配patternr\bre.escape(kw.lower())r\bifre.search(pattern,text_lower):returnTruereturnFalse坑4feedparser的编码问题有些中文RSS使用GBK编码feedparser可能解析乱码。# 如果标题/摘要乱码尝试指定编码feedfeedparser.parse(url)# feedparser通常能自动检测编码但如果不准iffeed.encodingandfeed.encoding.lower()!utf-8:# 手动重编码![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/bf27c456f0044595a24cd81ee7ba3053.png#pic_center)forentryinfeed.entries:entry.titleentry.title.encode(raw_unicode_escape).decode(utf-8,errorsignore)坑5RSS源的稳定性RSS源可能随时不可用服务器挂了、域名过期、格式变更。# 加上超时和重试importrequestsdeffetch_with_retry(url,retries3,timeout10):foriinrange(retries):try:responserequests.get(url,timeouttimeout,headers{User-Agent:YingdaoRPA/1.0})returnresponse.contentexceptrequests.exceptions.RequestExceptionase:ifiretries-1:time.sleep(2)else:raise# 用feedparser解析feedfeedparser.parse(fetch_with_retry(url))总结RSS 影刀 个人资讯秘书。feedparser解析RSS关键词做初筛去重避免重复阅读Markdown格式推送到聊天工具。核心价值是「过滤噪声」所以关键词要精心设计——太宽泛没过滤效果太严格可能漏掉重要信息。
延伸阅读

更多相关文章

2026/10/24 4:59:12

基于MA12070与dsPIC30F4013的高保真音频系统设计

1. 项目概述:构建基于MA12070与dsPIC30F4013的高保真音频系统 在音频设备开发领域,如何平衡功率效率与音质表现一直是工程师面临的挑战。本次项目采用英飞凌MA12070 D类音频放大器与Microchip dsPIC30F4013数字信号控制器组合,打造一套支持80…

2026/10/25 3:35:49

物联网设备电池优化:NBM7100A与PIC18F86K22动态管理方案

1. 项目背景与核心挑战 在物联网设备和便携式医疗设备领域,不可充电的初级电池(如锂亚硫酰氯电池)因其高能量密度和长保质期成为首选电源方案。但这类电池存在一个致命缺陷:当负载电流出现脉冲式波动时,电池内阻会急剧…

2026/10/30 23:07:09

【纯白嫖】南方电网通信类复习资料:考试内容拆解与备考节奏指南

【纯白嫖】南方电网通信类复习资料:考试内容拆解与备考节奏指南 【免费下载链接】通信类南方电网专项复习资料 通信类【南方电网专项复习资料】欢迎来到本仓库,这里为您提供了一份精心整理的《通信类【南方电网专项复习资料】》 项目地址: https://git…

2026/10/30 22:37:06

2026年会员管理系统多少钱?先算清交易费率和第二年续费这笔账

年费从几百到几万,差别不在“贵不贵”据华为云社区2026年10月发布的一篇SaaS工具对比梳理,国内会员管理系统的年费跨度很大:码云数智基础版1998元/年,有赞基础版6800元/年起,微盟豪华版可达29800元/年。另一份来自乔拓…

2026/10/30 22:37:06

Agentic Coding:从生成代码到交付结果的AI编程范式

简介:一份由北大青鸟人工智能研究院等团队出品的《Agentic Coding:从Vibe Coding到超级个体的进化之路》内部研讨讲稿,面向无编程经验的产品经理、教师、技术创业者,也适合开发者、CTO及架构师建立AI编程的系统认知。内容系统梳理…

2026/10/30 22:27:05

Milvus 索引不重建也能查:为什么召回率悄悄掉到随机水平

本文摘要:换 Embedding 模型却不重建索引,查询不报错但召回率悄悄跌至随机。通过 IVF_PQ 双层失配机制复现相似度趋同,给出灰度切换方案。适用于新旧模型维度相同的场景,维度变更时查询直接报错。 一、问题与结论 先说结论&#…

2026/10/30 22:27:05

MySQL 8.0 联合索引走错:为什么加了索引查询反而从 200ms 变成 8s

本文摘要:线上订单加联合索引后从 200ms 变 8 秒,索引命中却更慢。根因是 MySQL 8.0 偏好免排序索引,低选择性前缀致回表暴涨。仅适用于非覆盖索引场景,统计信息过期需先刷新再判断。 一、问题与结论 环境:Docker 启动…

2026/10/30 20:55:10

全国计算机二级C语言真题PDF高效刷题指南

简介:这份PDF是全国计算机二级C语言考试的试题与答案解析,专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/30 20:55:10

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介:一份以实战为导向的Python爬虫入门资源,面向具备基本编程基础、希望快速掌握网络数据抓取的初学者,可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档,完整演示从网页中提取 标题…

2026/10/30 20:55:09

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介:这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档,压缩包大小七十八KB,内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开:先构造一个极点位于单位圆内…

2026/10/30 0:00:46

NCP1342高频准谐振反激控制器:从设计约束到验收的完整方案

简介:NCP1342 高频准谐振反激控制器应用介绍译文文档,面向电源设计工程师、硬件研发人员及开关电源学习者,帮助读者跨越英文原版资料的语言门槛,系统理解这款高集成度 QR Flyback 控制器的设计要点。文档围绕芯片核心特性展开&…

2026/10/30 0:00:46

NCP1342准谐振反激电源设计:从选型到验收的全流程解析

简介:这份文档面向电源设计工程师与开关电源学习者,系统梳理NCP1342高频准谐振反激控制器的应用要点,帮助读者快速理解这款高集成度离线电源变换器控制芯片的工作机制与设计方法。内容涵盖芯片核心特性、引脚功能定义、电气特性参数表、最大额…

2026/10/30 0:00:46

Web系统自动登出机制设计与实现全解析

1. 系统自动登出机制的设计初衷在各类Web应用和后台管理系统中,自动登出功能早已成为标配。这个看似简单的功能背后,实际上涉及用户安全、资源管理和体验优化的多重考量。作为从业十多年的老开发,我见过太多因为登出逻辑设计不当导致的安全事…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑