一套完整的开源社交媒体数据采集工具指南:小红书、抖音、B站等五大平台数据一次搞定
2026/8/20 17:56:16 网站建设 项目流程

一套完整的开源社交媒体数据采集工具指南:小红书、抖音、B站等五大平台数据一次搞定

【免费下载链接】MediaCrawler-new项目地址: https://gitcode.com/GitHub_Trending/me/MediaCrawler-new

MediaCrawler-new 是一套主打"省心"的开源社交媒体数据采集工具,用 Python 编写,一条命令就能同时对接小红书、抖音、快手、B站、微博五大平台,把帖子、视频、评论、点赞、转发等公开数据批量拿回来。它对新手特别友好:不需要读懂平台那套复杂到令人头秃的加密算法,就能稳定采到想要的数据。下面我以一个"从零到落地"的完整旅程,带你把它真正用起来。

数据搬运工的日常,你可能也经历过

先讲一个我身边的真实场景。做内容运营的朋友小林,每周要整理竞品在小红书上的热门笔记、抖音上的爆款视频以及 B 站的相关视频数据。她的工作方式是什么呢?打开网页、手动复制标题、粘贴到 Excel、记下点赞数、翻下一页继续复制……一个平台整理下来要两三个小时,五个平台就是整整一天,而且每次复制还容易出错。

更让人崩溃的是,她试着找过一些现成的采集工具,要么只能采单一平台,要么动不动就要付费开会员,要么用两天就失效。后来我帮她把 MediaCrawler-new 跑起来,同样一份竞品数据,从登录到导出,半小时内全部完成。这背后的差别,不是她手速变快了,而是换了一套正确的工具。

它凭什么能绕过平台的层层反爬

很多人一听到"爬虫"就觉得是黑科技,其实 MediaCrawler-new 的思路非常朴素:它基于 playwright 驱动一个真实浏览器,像真人一样打开网页、滑动页面、点击按钮。这种"真浏览器操作"的方式,让平台很难把它和正常用户区分开。

关键的一步在于登录。程序登录成功后,会把带着登录态(Cookie)的浏览器上下文整个保留下来,后续采集都在这份"已登录环境"里进行。而平台接口里那些加密参数,工具直接用 JS 表达式在浏览器里计算得出——这就免去了逆向加密 JS 代码这件最苦最难的差事,等于别人还在抄写天书,你已经拿着现成的翻译稿开跑了。

小提示:上图只是仓库里附带的一张示意图,真正的运行画面是自动弹出的浏览器窗口,你只需扫码,剩下交给程序。

出发前的三件套准备清单

正式开始前,先花几分钟把环境备齐。其实就三件事,缺一不可:

  1. 建一个独立的 Python 虚拟环境,避免和系统里的其他 Python 包打架;
  2. 安装依赖库,项目把所有需要的第三方包都写进了requirements.txt
  3. 安装 playwright 浏览器驱动,这是程序操控浏览器的"引擎"。

如果你是小白,按下面这份清单逐条执行即可:

# 克隆项目到本地 git clone https://gitcode.com/GitHub_Trending/me/MediaCrawler-new cd MediaCrawler-new # 创建并激活虚拟环境(Linux / macOS) python -m venv venv source venv/bin/activate # 安装依赖 pip install -r requirements.txt # 安装浏览器驱动 playwright install

另外有两个"按需准备"的项:如果打算采集抖音,请确保机器上有 Node.js(版本不低于 v16.8.0),因为抖音签名计算依赖它;如果打算开代理 IP 功能,还需要一个 Redis 服务。这两项都不影响其他平台的采集,先记下即可。

三分钟配置好你的第一个采集任务

环境就绪后,打开config/base_config.py,这个文件是整个项目唯一需要你动手改的地方,我们只看最常用的几个参数:

配置项含义示例
PLATFORM要采集的平台xhs(小红书)/dy(抖音)/ks(快手)/bili(B站)/wb(微博)
KEYWORDS搜索关键词,多个用英文逗号分隔python,数据分析
LOGIN_TYPE登录方式qrcode(扫码)/phone(手机号)/cookie
SAVE_DATA_OPTION数据保存方式csv/db/json

改完之后,一条命令就能跑起来:

python main.py --platform xhs --lt qrcode --type search

程序会自动打开一个浏览器窗口并生成二维码,用手机 App 扫码登录,几秒钟后采集就自动开始了。这一套流程同样适用于抖音、快手、B 站和微博,把--platform换成对应平台代号即可。

登录方式三选一,怎么选最顺手

二维码登录、手机号登录、Cookie 登录,三种方式分别对应不同的使用习惯:

  • 二维码登录:最省事。程序弹出二维码,手机扫码即完成,适合偶尔采集、追求快速上手的用户;
  • 手机号登录:走短信验证码流程,适合想长期稳定挂机采集的场景,项目还提供了配套的短信接收服务(见recv_sms_notification.py);
  • Cookie 登录:把已登录的 Cookie 直接填进配置,跳过扫码环节,适合已经登录过、想无缝衔接的老手。

更贴心的是,程序默认会缓存登录状态(SAVE_LOGIN_STATE),下次启动不用重新扫码。想换账号时,删除项目根目录下的browser_data/文件夹再重新登录即可。

四种采集模式,对应四种真实需求

很多采集工具只能"搜关键词",MediaCrawler-new 把采集模式拆成了四类,基本覆盖日常所有需求:

  • 关键词搜索(search:围绕KEYWORDS里的词搜索相关帖子/视频,适合选题调研、热点追踪、竞品监测;
  • 指定内容采集(detail:按 ID 精确采集某条帖子或视频的完整信息,比如在小红书配置文件里填入XHS_SPECIFIED_ID_LIST,就能针对性地抓取指定笔记;
  • 创作者主页采集(creator:输入创作者 ID 拉取对方主页的全部作品,适合分析博主内容风格和更新规律(目前小红书支持此模式);
  • 视频下载(video_download:B 站专属,批量把视频资源下载到本地,方便离线分析和素材整理。

还有一个容易被忽略的开关:ENABLE_GET_COMMENTS。默认不采集评论,如果你需要做评论分析(比如舆情、用户反馈),把它设为True,点赞、转发、评论数据就会一并落库。

采集完的数据存哪里

数据采回来之后的归宿,由SAVE_DATA_OPTION决定,三种存储各有适用场景:

  • CSV 文件:导出的数据存在data/目录下,Excel 直接打开就能看,适合快速预览和简单筛选;
  • JSON 文件:保留完整的结构化字段,适合写代码做二次分析和程序化处理;
  • 数据库:支持 MySQL、PostgreSQL 等关系型数据库,配置见config/db_config.py,适合数据量大、需要复杂查询分析的场景。

我个人的建议是:小规模探索用 CSV,正式跑数据用数据库,既快又不容易丢。

高频采集的保命技能:代理 IP 池怎么用

如果你要长期、大量地采集,光靠一个 IP 反复请求,被平台识别风控只是时间问题。项目内置了一套代理 IP 管理机制,整个链路是这样的:

爬虫代理IP池工作流程图:拉取IP、Redis缓存、轮换分配

简单说:程序会定时从代理服务商拉取一批 IP 存入 Redis,构建一个"IP 池",每次请求从中挑一个可用 IP,失效就换下一个。这样你的真实 IP 始终藏在幕后,采集就不会轻易触发平台的频率限制。

第一次配置代理只需要三步:

  1. 在代理服务商的 IP 提取页面生成自己的 API 链接,记下链接里的keycrypto两个参数(见下图标注位置);

  1. 把这两个参数写入环境变量(或直接在proxy/proxy_ip_provider.py中填写,见下图代码里的调用位置);

  1. 回到config/base_config.py,把ENABLE_IP_PROXY改成True,并按需调整IP_PROXY_POOL_COUNT(池中 IP 数量)。

关于 IP 池的大小,轻度使用 2~3 个够用,重度采集再考虑加大或上住宅代理。另外记得给 Redis 设置一个密码,代理模块依赖它来缓存 IP 和记录过期时间。

新手最容易踩的四个坑,一次说清

跑了一段时间,我把社区里问得最多的问题整理成一张"避坑表":

现象原因与解法
采集抖音报错缺少 ';'机器缺 Node.js 环境,安装 v16.8.0 以上版本即可
报错Timeout 30000ms exceeded多为网络不通或代理异常,检查网络连通性再重试
刚开始能采,过一阵子全失效账号触发平台风控,请降低频率、缩小规模,别硬刚
想换一个账号登录删除根目录browser_data/文件夹,重新扫码登录

更完整的排查手册在docs/常见问题.md,遇到新问题也可以先翻一遍。

写在最后

还是回到开头那位朋友小林。以前她最怕的周一早上,是五个平台轮着复制粘贴;现在同样的时间,她能多产出三份竞品分析报告。工具没有改变她做分析的能力,只是把"取数"这个环节的时间压缩到了原来的零头。这就是好的工具该有的样子——它不替你思考,但帮你省下思考之外的一切杂活。

最后多说一句:能力越强,越要谨慎使用。请务必在遵守各平台规则和相关法律法规的前提下采集公开数据,控制频率、保护隐私、用于正当的学习和研究目的。工具本身没有立场,怎么用它,取决于你。希望这套指南能帮你把数据采集这件事,从"繁琐"变成"顺手"。

【免费下载链接】MediaCrawler-new项目地址: https://gitcode.com/GitHub_Trending/me/MediaCrawler-new

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询