先编写python脚本抓取RSS内容并保存为jsON文件,再通过Cron每30分钟定时执行。确保脚本有执行权限,安装feedparser依赖,正确配置Cron任务路径并记录日志以验证运行状态。

要在linux服务器上实现自动抓取RSS内容,可以通过编写脚本并结合Cron定时任务来完成。整个过程不复杂,关键是确保脚本能正常运行,并被Cron准确调度。
准备抓取RSS的脚本
先创建一个简单的脚本,用于获取并处理RSS内容。可以使用Python或shell工具如curl配合xmlstarlet来解析RSS。
例如,使用Python更灵活。创建一个脚本文件:
/home/user/fetch_rss.py
内容如下:
<font face="Courier New">#!/usr/bin/env python3 import feedparser import json <h1>RSS源地址</h1><p>url = "<a href="https://www.php.cn/link/2f9dabd3b7df074505f362da6a52c389">https://www.php.cn/link/2f9dabd3b7df074505f362da6a52c389</a>" feed = feedparser.parse(url)</p><h1>保存最新几条标题到文件</h1><p>with open("/home/user/rss_latest.json", "w") as f: entries = [{"title": entry.title, "link": entry.link} for entry in feed.entries[:5]] json.dump(entries, f, indent=2)</font>
赋予执行权限:
chmod +x /home/user/fetch_rss.py
安装依赖(如使用Python)
确保系统已安装Python和feedparser:
- pip install feedparser
若用shell命令方式,可安装xmlstarlet解析XML:
设置Cron Job自动执行
运行crontab -e编辑当前用户的定时任务:
crontab -e
添加一行,比如每30分钟执行一次:
*/30 * * * * /usr/bin/python3 /home/user/fetch_rss.py
注意替换Python路径(可用which python3确认)和脚本实际路径。
如果使用shell脚本,也可以写成:
*/30 * * * * /home/user/pull_rss.sh
验证与日志记录
建议在Cron中添加输出日志,便于排查问题:
*/30 * * * * /usr/bin/python3 /home/user/fetch_rss.py >> /home/user/rss_cron.log 2>&1
运行后检查日志和输出文件是否存在,确认任务是否成功执行。
查看最近的Cron执行状态:
基本上就这些。只要脚本能独立运行,Cron配置正确,RSS抓取就会自动持续进行。关键点是路径、权限和日志跟踪。