一套完整的开源社交媒体数据采集工具指南:小红书、抖音、B站等五大平台数据一次搞定 一套完整的开源社交媒体数据采集工具指南小红书、抖音、B站等五大平台数据一次搞定【免费下载链接】MediaCrawler-new项目地址: https://gitcode.com/GitHub_Trending/me/MediaCrawler-newMediaCrawler-new 是一套主打省心的开源社交媒体数据采集工具用 Python 编写一条命令就能同时对接小红书、抖音、快手、B站、微博五大平台把帖子、视频、评论、点赞、转发等公开数据批量拿回来。它对新手特别友好不需要读懂平台那套复杂到令人头秃的加密算法就能稳定采到想要的数据。下面我以一个从零到落地的完整旅程带你把它真正用起来。数据搬运工的日常你可能也经历过先讲一个我身边的真实场景。做内容运营的朋友小林每周要整理竞品在小红书上的热门笔记、抖音上的爆款视频以及 B 站的相关视频数据。她的工作方式是什么呢打开网页、手动复制标题、粘贴到 Excel、记下点赞数、翻下一页继续复制……一个平台整理下来要两三个小时五个平台就是整整一天而且每次复制还容易出错。更让人崩溃的是她试着找过一些现成的采集工具要么只能采单一平台要么动不动就要付费开会员要么用两天就失效。后来我帮她把 MediaCrawler-new 跑起来同样一份竞品数据从登录到导出半小时内全部完成。这背后的差别不是她手速变快了而是换了一套正确的工具。它凭什么能绕过平台的层层反爬很多人一听到爬虫就觉得是黑科技其实 MediaCrawler-new 的思路非常朴素它基于 playwright 驱动一个真实浏览器像真人一样打开网页、滑动页面、点击按钮。这种真浏览器操作的方式让平台很难把它和正常用户区分开。关键的一步在于登录。程序登录成功后会把带着登录态Cookie的浏览器上下文整个保留下来后续采集都在这份已登录环境里进行。而平台接口里那些加密参数工具直接用 JS 表达式在浏览器里计算得出——这就免去了逆向加密 JS 代码这件最苦最难的差事等于别人还在抄写天书你已经拿着现成的翻译稿开跑了。小提示上图只是仓库里附带的一张示意图真正的运行画面是自动弹出的浏览器窗口你只需扫码剩下交给程序。出发前的三件套准备清单正式开始前先花几分钟把环境备齐。其实就三件事缺一不可建一个独立的 Python 虚拟环境避免和系统里的其他 Python 包打架安装依赖库项目把所有需要的第三方包都写进了requirements.txt安装 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快手/biliB站/wb微博KEYWORDS搜索关键词多个用英文逗号分隔python,数据分析LOGIN_TYPE登录方式qrcode扫码/phone手机号/cookieSAVE_DATA_OPTION数据保存方式csv/db/json改完之后一条命令就能跑起来python main.py --platform xhs --lt qrcode --type search程序会自动打开一个浏览器窗口并生成二维码用手机 App 扫码登录几秒钟后采集就自动开始了。这一套流程同样适用于抖音、快手、B 站和微博把--platform换成对应平台代号即可。登录方式三选一怎么选最顺手二维码登录、手机号登录、Cookie 登录三种方式分别对应不同的使用习惯二维码登录最省事。程序弹出二维码手机扫码即完成适合偶尔采集、追求快速上手的用户手机号登录走短信验证码流程适合想长期稳定挂机采集的场景项目还提供了配套的短信接收服务见recv_sms_notification.pyCookie 登录把已登录的 Cookie 直接填进配置跳过扫码环节适合已经登录过、想无缝衔接的老手。更贴心的是程序默认会缓存登录状态SAVE_LOGIN_STATE下次启动不用重新扫码。想换账号时删除项目根目录下的browser_data/文件夹再重新登录即可。四种采集模式对应四种真实需求很多采集工具只能搜关键词MediaCrawler-new 把采集模式拆成了四类基本覆盖日常所有需求关键词搜索search围绕KEYWORDS里的词搜索相关帖子/视频适合选题调研、热点追踪、竞品监测指定内容采集detail按 ID 精确采集某条帖子或视频的完整信息比如在小红书配置文件里填入XHS_SPECIFIED_ID_LIST就能针对性地抓取指定笔记创作者主页采集creator输入创作者 ID 拉取对方主页的全部作品适合分析博主内容风格和更新规律目前小红书支持此模式视频下载video_downloadB 站专属批量把视频资源下载到本地方便离线分析和素材整理。还有一个容易被忽略的开关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 始终藏在幕后采集就不会轻易触发平台的频率限制。第一次配置代理只需要三步在代理服务商的 IP 提取页面生成自己的 API 链接记下链接里的key和crypto两个参数见下图标注位置把这两个参数写入环境变量或直接在proxy/proxy_ip_provider.py中填写见下图代码里的调用位置回到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),仅供参考