ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Python信息聚合脚本实战:每天自动整理全网资讯,省下1小时

Python信息聚合脚本实战:每天自动整理全网资讯,省下1小时 前言每天打开十几个网站、公众号、论坛刷一遍资讯少说花1小时。其实这个活儿脚本可以帮你干自动抓取、去重、排序、汇总每天定时推给你一份资讯摘要。今天分享一个Python信息聚合脚本看完就能跑。—## 一、聚合脚本能干什么- 抓取你关注的网站/RSS/论坛最新内容- 自动去重同一新闻不会重复推- 按关键词筛选你感兴趣的- 定时汇总推送到你手机一个脚本替代每天手动刷资讯。—## 二、核心代码先看最小可用版本pythonimport requestsfrom bs4 import BeautifulSoupimport time# 关注的RSS/资讯源SOURCES [ https://example.com/rss.xml, https://another-site.com/feed,]def fetch_rss(url): 抓取RSS源返回标题列表 resp requests.get(url, timeout10) soup BeautifulSoup(resp.text, xml) items [] for item in soup.find_all(item)[:10]: title item.find(title).text link item.find(link).text items.append({title: title, link: link}) return itemsdef filter_by_keywords(items, keywords): 按关键词筛选 return [i for i in items if any(k in i[title] for k in keywords)]def main(): all_items [] for url in SOURCES: try: all_items.extend(fetch_rss(url)) except Exception as e: print(f抓取失败 {url}: {e}) time.sleep(2) # 控制节奏 # 关键词过滤只保留你感兴趣的 my_keywords [Python, AI, 云服务器, 自动化] filtered filter_by_keywords(all_items, my_keywords) # 输出摘要 print(今日资讯摘要) for i, item in enumerate(filtered[:10], 1): print(f{i}. {item[title]})if __name__ __main__: main()核心就三步抓取 → 筛选 → 输出。加数据源、加关键词扩展性很强。—三、推送到手机汇总好之后怎么送到手机上两种常见方式1.企业微信/钉钉机器人webhook推一条消息2.Bark/PushPlus手机APP直接收推送以PushPlus为例pythondef push(msg): url https://www.pushplus.plus/send data {token: 你的token, title: 今日资讯, content: msg} requests.post(url, jsondata, timeout5)每天早上7点手机准时收到当天资讯摘要。—## 四、部署到服务器bashscp aggregator.py root你的服务器IP:/root/crontab定时0 7 * * * cd /root python3 aggregator.py agg.log 21每天早上7点跑一次风雨无阻。—## 五、进阶玩法跑通之后可以扩展-多个数据源往SOURCES里加就行-AI摘要接入大模型API自动生成每条资讯的一句话总结-存储历史存SQLite想看历史记录随时查本质上还是抓取处理推送换个场景就能复用。—## 六、注意事项1. 控制抓取频率尊重目标网站规则2. 有的网站需要UA伪装加个请求头更稳3. 服务器2核2G足够云厂商官网新用户都有优惠活动几十块一年有问题评论区交流关注我自动化脚本系列持续更新。
返回列表