项目背景:Github 上的 TrendRadar 是一个聚合微博、百度、知乎等平台热搜的工具。 需求:我希望在云服务器上部署它,实现 7x24小时自动监控,并每天定时把过滤后的感兴趣内容推送到我的钉钉/微信,提高了信息获取的效率。

第一部分:环境搭建

记录在腾讯云 Ubuntu Server (2核2G) 上的基础操作。

  1. 系统初始化

    • 安装 Python3、pip 和 Git。

    • 关键动作:配置 pip 清华源(加速国内下载),加快下载速度。

  2. 获取代码

    • 使用 git clone 拉取项目代码。

    • 在 FinalShell 粘贴命令时,不要把 cdgit clone 多行命令一次性粘贴执行,会导致 -bash: cd: too many arguments 报错。建议一行一行执行。

  3. 虚拟环境

    使用 python3 -m venv venv 创建隔离环境,避免污染系统库。

第二部分:遇到的“坑”与解决方案 (核心干货)

遇到的坑
1:Playwright 的误导
  • 问题:一开始以为爬虫都需要浏览器内核,尝试安装 playwright,结果报错。

  • 解决:分析源码发现,该项目使用的是轻量级的 requests 库抓取 API,根本不需要安装笨重的浏览器环境。这对于 2G 内存的小服务器是巨大的福音。

2:YAML 格式的严苛
  • 问题:运行 main.py 时报错 yaml.scanner.ScannerError

  • 原因:YAML 文件对缩进和空格要求极高,手动编辑时少了一个空格。

  • 教训:修改配置时推荐使用 FinalShell 的文件编辑器,而不是在命令行里用 vim/nano 硬敲,减少格式错误。

3:Crontab 定时任务的“死循环”
  • 问题:设置定时任务时,系统提示 Choose 1-4 [1]:,我直接粘贴了任务代码,导致卡住。

  • 解决:这是 Linux 选择编辑器的提示。必须先输入数字 1 (选择 nano) 回车,进入编辑器界面后,再粘贴定时任务代码 0 */4 * * * ...,最后 Ctrl+X 保存。

第三部分:消息推送的配置

1. 钉钉机器人的“安全设置”
  • 报错错误描述: 机器人发送签名不匹配

  • 原因:我在钉钉后台勾选了“加签”模式,但项目代码不支持复杂的签名算法。

  • 终极方案

    • 改为 “自定义关键词” 模式。

    • 关键词技巧:必须填入 “热搜” 或 “汇总”。因为程序生成的报告标题里一定包含这几个字,这样才能通过钉钉的拦截机制。

2. 为什么要用关键词过滤?
  • 痛点:全网热搜太杂(明星八卦太多)

  • 配置:修改项目的frequency_words.txt文件

  • 实战:我设置了 AI大模型科技等关键词。

  • 效果:程序会自动把 50 条热搜里的 48 条八卦过滤掉,只把剩下的 2 条匹配关键词的新闻推送过来

📈 第四部分:最终效果展示

  • 自动化:服务器每 4 小时自动运行一次。

  • 产出

    • /output 目录下自动生成每日 HTML 报表。

    • 手机钉钉准时收到“今日热点汇总”。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐