·AI应用·5 min

我们把 MediaCrawler 接进 Codex,做了一套自媒体选题工作流

平时用 Codex 写文章,最容易卡住的其实不是文笔。

文章目录
  1. 1. MediaCrawler 能帮我们做什么?
  2. 2. 先把项目跑起来
  3. 3. 让它连接 Chrome
  4. 4. 设置我们要研究的关键词
  5. 5. 运行并导出 Excel
  6. 6. 接下来才是 Codex 真正发挥作用的地方
    1. 第一步:先找问题,不急着写文章
    2. 第二步:把问题变成选题
    3. 第三步:先大纲,再初稿
  7. 7. 我们还会给 Codex 留一份长期规则
  8. 8. 这套组合最舒服的地方

我们把 MediaCrawler 接进 Codex,做了一套自媒体选题工作流

平时用 Codex 写文章,最容易卡住的其实不是文笔。

而是选题从哪里来?

读者到底在问什么?哪些问题看着冷门,其实大家一直在评论区里反复追问?

如果全靠我们自己刷小红书、抖音、B 站和知乎,再把内容一条条复制到表格里,时间基本都浪费在整理资料上了。

所以这次我们换了一个思路:

让 MediaCrawler 收集公开内容和评论,再把数据交给 Codex 做分析、选题和初稿。

MediaCrawler GitHub 项目

这样 Codex 就不再是坐在那里“凭空想选题”,而是有一批真实讨论可以参考。

整个流程也很简单:

MediaCrawler 收集公开数据
→ Codex 整理读者问题
→ 建立选题库
→ 生成大纲和初稿
→ 我们补充经验、核实并发布

1. MediaCrawler 能帮我们做什么?

MediaCrawler 是一个开源的多平台数据采集项目,目前支持小红书、抖音、快手、B 站、微博、贴吧和知乎。

我们可以给它一个关键词,让它整理相关公开内容和评论;也可以指定某条内容或创作者主页。

最后把结果保存成 Excel、CSV、JSON 或 JSONL,再交给 Codex 继续处理。

这就很适合我们的自媒体流程。

例如准备写“AI 写作”时,不用先拍脑袋想标题,而是先看看大家正在讨论什么:

  • 不知道怎么给 AI 提要求
  • 生成内容太像机器写的
  • 标题有流量,正文却接不住
  • 同一个选题不知道怎么做差异化
  • 工具收藏很多,真正用起来还是很慢

这些问题经过归类以后,本身就是一批可以继续深挖的选题。

2. 先把项目跑起来

MediaCrawler 不是双击安装的软件,需要先准备:

  • Python 3.11 或更高版本
  • uv
  • Node.js 16 或更高版本
  • Git 和新版 Chrome

打开终端执行:

git clone https://github.com/NanmiCoder/MediaCrawler.git
cd MediaCrawler
uv sync

安装完成后再试一下:

uv run main.py --help

能够看到命令帮助,基础环境就准备好了。

不想使用 Git,也可以在项目页面点击 Code → Download ZIP,解压以后进入文件夹执行 uv sync。

3. 让它连接 Chrome

MediaCrawler 当前默认连接电脑里已经打开的 Chrome。

在 Chrome 地址栏输入:

chrome://inspect/#remote-debugging

打开 Allow remote debugging for this browser instance。

看到下面这行内容就可以了:

Server running at: 127.0.0.1:9222

运行项目以后,Chrome 会弹出连接确认,点击接受即可。

我们更建议单独建立一个 Chrome 配置文件和测试账号。这样日常浏览和内容采集分开,管理起来也更清楚。

4. 设置我们要研究的关键词

打开:

config/base_config.py

第一次不用改太多,主要看这几项:

PLATFORM = "xhs"
KEYWORDS = "AI写作,自媒体运营"
LOGIN_TYPE = "qrcode"
CRAWLER_TYPE = "search"

CRAWLER_MAX_NOTES_COUNT = 15
MAX_CONCURRENCY_NUM = 1
ENABLE_GET_COMMENTS = True
ENABLE_GET_SUB_COMMENTS = False

多个关键词使用英文逗号分隔。

我们通常会先把数量设小一点,确认关键词和数据方向正确,再决定要不要继续。

这比一开始就追求几千条数据更实用。内容运营需要的是问题和趋势,不是单纯比谁的表格更大。

5. 运行并导出 Excel

以小红书为例,在终端执行:

uv run main.py --platform xhs --lt qrcode --type search --save_data_option excel

按照提示登录以后,程序就会根据刚才设置的关键词运行,结果保存在 data 目录。

想换平台,只需要修改代号:

平台代号
小红书xhs
抖音dy
快手ks
B 站bili
微博wb
贴吧tieba
知乎zhihu

如果不习惯命令行,项目还提供了 WebUI。

MediaCrawler WebUI 可视化界面

后端和前端分别启动:

# 终端一
uv run uvicorn api.main:app --port 8080 --reload

# 终端二
cd webui
npm install
npm run dev

随后打开 http://localhost:5173/,就能在网页里设置平台和任务。

6. 接下来才是 Codex 真正发挥作用的地方

数据准备好以后,我们直接用 Codex 打开 MediaCrawler 文件夹。

这样它可以读取 data 里的 Excel、CSV 或 JSON 文件,也能把分析结果和文章继续保存在本地。

为了不让文件越用越乱,我们会先建立三个目录:

自媒体运营/
├─ 01_数据分析/
├─ 02_选题库/
└─ 03_文章草稿/

然后分三步来做。

第一步:先找问题,不急着写文章

请读取 data 目录下最新的 Excel 文件。

合并意思相近的内容和评论,整理出读者反复讨论的问题、使用困难、争议点和没有得到解决的需求。

输出 10 个值得继续研究的问题,并说明:
1. 为什么值得写
2. 适合哪类读者
3. 还需要补充验证什么

保存到“自媒体运营/01_数据分析/用户问题.md”。

我们不会一上来就让 Codex 写正文。

先看它找出的问题对不对,等方向确定以后再继续,返工会少很多。

第二步:把问题变成选题

根据“用户问题.md”整理 15 个原创选题。

每个选题包含:目标读者、要解决的问题、标题方向、核心观点、需要补充的资料,以及适合发布的平台。

不要照抄采集到的标题,也不要只换几个近义词。
保存到“自媒体运营/02_选题库/本期选题.md”。

这一轮我们主要筛三件事:

  • 这个问题是不是真的有人关心
  • 我们有没有自己的经验和判断可以补充
  • 能不能给读者一个明确结果

三个条件都满足,才值得进入文章阶段。

第三步:先大纲,再初稿

选择“本期选题.md”中的第 1 个选题,先生成文章大纲。

文章从一个具体使用场景开始,正文给出可执行步骤,并补充适用人群和实际限制。

不要复制原帖和评论,不要虚构亲测、数据或案例。无法确认的内容标记为“待核实”。

大纲确认后再写初稿,保存到“自媒体运营/03_文章草稿/”。

这时候 Codex 给我们的不是最终成稿,而是一份有资料基础的初稿。

我们再把自己的操作经验、截图、判断和表达补进去,文章才真正属于自己。

7. 我们还会给 Codex 留一份长期规则

如果每次都重复交代写作要求,其实也挺麻烦。

所以可以在项目根目录放一个 AGENTS.md:

# 自媒体写作规则

- 数据用来发现问题,不照抄原文和标题。
- 不虚构亲测、案例、数据和用户反馈。
- 先整理问题和大纲,确认后再写正文。
- 文章要给出具体步骤、适用人群和真实限制。
- 草稿统一保存到“自媒体运营/03_文章草稿”。

如果已经有固定文风,也可以把标题长度、段落习惯、禁用词和结尾格式一起写进去。

以后我们只要更换数据和选题,Codex 就能按照同一套要求继续工作。

8. 这套组合最舒服的地方

以前做内容,经常是先想标题,再到处找资料证明这个标题。

MediaCrawler 加上 Codex 以后,顺序正好反过来:

先看读者正在讨论什么,再决定我们应该写什么。

MediaCrawler 负责重复、机械的资料整理;Codex 负责归类、总结和搭建内容框架;我们负责验证、判断和最终表达。

当然,数据不用贪多,账号和个人信息也要保护好。这个项目本身只允许非商业学习研究使用,正式投入其他用途前记得先看项目许可证和平台规则。

除此之外,剩下的就是把它用进自己的内容流程。

只要选题库能持续积累,这套方法就不只是帮我们多写一篇文章,而是慢慢建立一套属于自己的内容系统。

MediaCrawler 项目地址:https://github.com/NanmiCoder/MediaCrawler