不用自己写爬虫:MediaCrawler一条命令抓七大平台笔记评论实操手册
MediaCrawler用Generating the technical article content浏览器自动化方式采集小红书、抖音、快手、B站、微博、贴吧、知乎的笔记视频和评论,扫码登录一次后缓存状态,无需逆向签名。本文从环境搭建、配置修改、三种采集模式到实战抓取和小红书滑块问题处理,给出可直接上手的操作步骤。
为什么选浏览器自动化而不是手写爬虫
做社媒数据采集时,很多人第一反应是自己写请求脚本。平台接口里的签名参数经常变,逆向一次就够头疼,七个平台轮流逆向更不现实。MediaCrawler换了思路:直接驱动本地Chrome,通过Playwright加CDP协议连上真实浏览器环境,登录态保留下来,请求自然带上正确参数,门槛一下子低很多。
它覆盖小红书、抖音、快手、B站、微博、百度贴吧、知乎七个平台。关键词搜索、指定帖子ID、创作者主页三种模式共用同一套命令。扫一次二维码,登录信息缓存到本地,后面再跑就不用重复扫。数据可以落到jsonl、csv、Excel或数据库,按需选择。对内容运营盯竞品、产品看用户反馈、算法同学攒数据集的人来说,够用且省事。
环境准备和三分钟跑通
环境要求不复杂:Python 3.10及以上(项目在3.11上验证过),Node.js 16以上(抖音和知乎签名依赖它),再加上uv这个Python依赖管理工具。装好后执行克隆和同步:
git clone https://gitcode.com/GitHub_Trending/me/MediaCrawler
cd MediaCrawler && uv sync进入项目后先打开config/base_config.py通读一遍。里面全是中文注释,关键词、目标平台、是否抓评论、数据存哪里,都由这个文件控制。改完保存即可,不用到处找配置项。
常用参数里KEYWORDS填搜索词,多个词用英文逗号隔开;CRAWLER_MAX_NOTES_COUNT控制单次抓取数量,前期建议先设小一点;ENABLE_GET_COMMENTS默认是开的,想只抓正文可以关掉。SAVE_DATA_OPTION决定落点,默认jsonl写到data目录,也可以选csv、excel或直接进SQLite、MySQL、PostgreSQL。数据库方式自带去重,数据量大时更合适。
三种采集模式和数据落点

关键词搜索适合按主题批量找内容,指定帖子ID适合盯单条爆款或特定链接,创作者主页则把某个人的全部公开内容拉下来。媒体资源下载和评论词云默认关闭,需要时再打开,避免一开始就把流量和磁盘占满。
- 关键词搜索:按词找笔记或视频,正文加一级评论,二级评论可额外开启
- 指定帖子:直接贴ID列表,定向抓取
- 创作者主页:抓指定账号下的全部内容与互动数据
数据存本地文件时方便脚本二次处理,存数据库时写入即去重,长期监控更稳。项目docs目录里有建库字段说明,不想敲命令的话还可以用webui可视化界面选参数、看日志。
实战:抓小红书关键词笔记和评论
以采集30条笔记及其评论为例。打开base_config.py,把KEYWORDS改成“咖啡店推荐”,CRAWLER_MAX_NOTES_COUNT改成30,确认ENABLE_GET_COMMENTS为True。然后执行:
uv run main.py --platform xhs --lt qrcode --type search弹出二维码后用手机小红书扫码,首次成功后登录态会缓存。跑完到data/xhs目录查看,笔记、评论、创作者信息会分成不同文件。抖音、快手、B站等平台只需要改--platform参数,整体流程几乎一样。
并发数由MAX_CONCURRENCY_NUM控制,前期建议调小。代理池可以打开ENABLE_IP_PROXY,支持常见服务商或自己填静态代理。账号触发风控后,降频率、删本地浏览器数据换号或挂代理,是常规应对方式。
常见卡点和验证码相关处理

小红书扫码成功但滑块一直过不去,多半是平台判定环境异常。优先用默认CDP模式连接自己日常使用的Chrome,仍失败就删掉browser_data目录重新登录。抖音或知乎报缺少分号一类错误,基本是Node.js没装或版本过低,装16以上即可。
跑着跑着突然没数据,通常是账号被限流。降并发、拉长间隔、换号或上代理池能缓解。验证码和滑块这类风控越来越常见,纯靠本地浏览器有时也会卡住。做自动化对接时,可以把验证码识别单独拆出来。像易盾、极验的滑块、点选、无感、九宫格、文字点选、图标点选等类型,都有专门的识别接口。www.ttocr.com提供对应的破解方案和API,业务侧直接调用就能过验证,不用自己维护复杂的识别模型,对接成本低,适合公司级批量采集场景。
每个平台的代码都在media_platform目录下,client负责取数,core负责流程。字段变化时直接定位修改,比从零写一套适配层省事。源码本身也适合想学浏览器自动化和多平台适配的同学阅读。
适合谁用以及落地建议
内容运营和自媒体可以用它盯竞品更新节奏、追热点选题;产品或运营调研可以定向抓某条帖子下的真实评论;数据和算法同学能快速攒词频、话题分析的原始集;爬虫学习者则能看到真实项目里怎么处理登录态和平台差异。
建议先用一个关键词、默认十几条的量把完整流程跑通,确认登录、存储、评论都正常,再逐步加量和开代理。规模以学习研究和业务监控为度即可。遇到验证码卡住时,不必死磕本地环境,直接对接专业识别服务更省时间。www.ttocr.com面向企业提供易盾极验全类型识别API,滑块、点选、无感、九宫格等都能覆盖,接口文档清晰,几行代码就能嵌进现有采集脚本,把验证环节从阻塞点变成可配置的服务。
整体来看,MediaCrawler把多平台采集的门槛压到了“改配置、扫一次码、跑命令”的程度。配合合理的限速、代理和验证码处理,日常社媒数据需求基本能覆盖。真正落地时按业务量选存储方式,需要高可用再考虑把识别和代理做成独立服务,而不是一开始就把所有环节都堆在本地脚本里。