ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

MediaCrawler 免费开源社交媒体数据采集终极指南:五个平台一个框架通吃

MediaCrawler 免费开源社交媒体数据采集终极指南:五个平台一个框架通吃 MediaCrawler 免费开源社交媒体数据采集终极指南五个平台一个框架通吃【免费下载链接】MediaCrawler-new项目地址: https://gitcode.com/GitHub_Trending/me/MediaCrawler-new凌晨三点市场部的分析师小林还盯着浏览器一篇篇复制小红书上的笔记文案、点赞数和评论粘贴进Excel。好不容易搞定小红书领导又甩来一份抖音的热门话题榜单外加微博的舆情数据——她看着屏幕上密密麻麻的标签页只想摔鼠标。如果你也在经历同样的手动复制粘贴式采集那么MediaCrawler这个免费开源的社交媒体数据采集框架值得你看完这篇文章。它是专为开发者、市场分析师和内容创作者设计的爬虫工具能一键采集小红书、抖音、快手、B站、微博五大平台的数据。下面我用一个真实用户的工作流带你把从配置到出数据的全过程走一遍顺便把新手最容易踩的坑都提前给你标出来。 30 秒看懂它能干什么一张表就够了先别急着看代码。下面这张表把 MediaCrawler 的社交媒体数据采集能力摊开给你看你只需要扫一眼就能判断它能不能解决你的问题平台扫码登录关键词搜索指定内容ID抓取登录状态免重登保存成文件/数据库代理IP池自动过滑块小红书✅✅✅✅✅✅✕抖音✅✅✅✅✅✅✅快手✅✅✅✅✅✅✕B站✅✅✅✅✅✅✕微博✅✅✅✅✅✅✕说白了它就是把你手动打开网页、翻页、复制、粘贴的过程全部自动化。登录一次之后每次启动都不用再扫码数据直接落到文件或数据库里随取随用。⚡ 3 分钟上手从零跑到出第一条数据别慌整个流程就四条命令。先在一个目录下拿到项目装好依赖和浏览器内核然后直接开跑git clone https://gitcode.com/GitHub_Trending/me/MediaCrawler-new cd MediaCrawler-new pip install -r requirements.txt playwright install依赖装好后默认配置爬小红书扫码登录就开跑python main.py --platform xhs --lt qrcode --type search第一次运行程序会弹出一个带二维码的浏览器窗口。你掏出手机小红书App扫码确认它就会自动开始按关键词搜索并爬取内容。几分钟后去data/目录看看——笔记、点赞、评论已经按 JSON 或 CSV 格式躺在里面了。这就是最短路径不需要写一行代码。跑通之后你会发现剩下的问题都不是能不能爬而是怎么爬得更好。 三个值得单独拎出来讲的亮点MediaCrawler 功能不少但真正让它好用的我总结成下面三点。亮点一不用逆向加密算法靠搭桥绕开反爬大多数平台的请求都需要加密签名比如抖音的X-Bogus。传统做法是逆向它的 JS 代码工作量巨大且一更新就失效。MediaCrawler 换了个思路用Playwright一个能自动化控制真实浏览器的工具打开真实浏览器登录成功后保留浏览器环境直接在页面里执行 JS 拿到加密参数——绕开了逆向平台升级了也能快速跟上。这在代码里只体现为一个配置文件的改动却能省下你几十个小时的逆向时间。相关实现可以看base/base_crawler.py和media_platform/douyin/下的代码里面注释写得挺清楚。亮点二内置代理IP池采集不被封高频请求最容易触发平台风控轻则验证码重则封号。MediaCrawler 内置了一套完整的代理IP池管理从 IP 服务商拉取 IP → 存进 Redis → 建成池子 → 爬虫按需取用全程自动。社交媒体数据采集代理IP池管理流程图上面这张图就是代理IP从拉取到池化调用的完整流程MediaCrawler 帮你把最麻烦的环节都自动化了开启它只需要在config/base_config.py里改两行# 是否开启 IP 代理 ENABLE_IP_PROXY True # 代理IP池数量 IP_PROXY_POOL_COUNT 5为什么它重要因为对任何想做批量采集的人来说IP 被封几乎是必踩的坎而这个问题框架已经替你兜底了。亮点三登录一次长期免登三种方式随意切换MediaCrawler 支持二维码、手机号、Cookie三种登录方式并且登录状态会自动缓存到本地。今天扫码登录过明天直接跑命令就能继续采集不用再掏手机。# 用 Cookie 登录适合长期稳定的账号 python main.py --platform xhs --lt cookie --type search想换账号删掉项目根目录下的browser_data/文件夹再跑一次即可。手机号验证码的自动登录方案在docs/手机号登录说明.md里有详细教程配合短信转发工具能实现全自动登录适合做无人值守的定时采集。 完整实战演示帮美妆品牌做一份小红书竞品报告光说不练没意思我们设定一个真实场景角色某美妆品牌的市场助理阿May老板让她明天交一份小红书粉底液品类的竞品分析包含热门笔记、点赞数和用户评论。目标采集小红书关键词粉底液下的热门笔记及评论导出成表格。第一步改配置。打开config/base_config.py把平台、关键词、保存格式设置好PLATFORM xhs KEYWORDS 粉底液 LOGIN_TYPE qrcode SAVE_DATA_OPTION csv CRAWLER_MAX_NOTES_COUNT 30 ENABLE_GET_COMMENTS TrueCRAWLER_MAX_NOTES_COUNT控制爬多少条ENABLE_GET_COMMENTS顺手把评论也一起爬了。第二步启动python main.py --platform xhs --lt qrcode --type search扫码登录后程序自动按粉底液搜索并逐条抓取笔记和评论。第三步看产出。data/目录下会出现按平台和时间命名的 CSV 文件打开就是一张规整的表标题、作者、点赞数、收藏数、评论内容一应俱全。阿May 花半小时整理透视表第二天早上准时把报告交了上去——而数据采集本身只花了不到十分钟。如果老板让你爬的不是关键词而是某个具体账号把爬取类型换成creator创作者主页就行小红书目前支持按创作者ID采集。⚠️ 新手最容易踩的 6 个坑这些坑都是前人用重启十次换来的经验直接抄作业⚠️报错execjs._exceptions.ProgramError抖音签名依赖 Node.js 环境装一个 Node.js建议 v16.8.0 及以上就能解决。⚠️跑一段时间就抓不到数据了多半是账号触发了平台风控。千万别上大规模并发去刷一个平台量力而行配合代理IP使用。⚠️登录不了/验证码过不去删掉browser_data/目录重新登录或者把HEADLESS改成False让浏览器弹出来手动过一下滑块验证码。⚠️报错TimeoutError: Timeout 30000ms exceeded检查网络很多平台直连不稳定确认代理或网络环境正常再跑。⚠️怎么换关键词/换平台关键词在KEYWORDS里用英文逗号分隔平台在PLATFORM里改支持xhs(小红书)、dy(抖音)、ks(快手)、bili(B站)、wb(微博)。⚠️数据想存数据库把SAVE_DATA_OPTION改成db然后在config/db_config.py里填 MySQL 连接信息表结构会自动建好。更多报错排查可以翻项目里的 docs/常见问题.md不少问题官方都给了标准答案。 进阶调优让采集更快、更稳、更省心跑通之后你大概率想让它更快更稳。这几个旋钮都旋过效果立竿见影调并发别贪多。MAX_CONCURRENCY_NUM控制并发爬虫数量默认 4。小规模采集 2 就够大规模再往上加但配合代理IP池一起用否则容易被风控盯上。控制单次量。CRAWLER_MAX_NOTES_COUNT限制每次爬多少条建议分批采集而不是一次性拉爆数据质量反而更高。用环境变量管理代理密钥。在proxy/proxy_ip_provider.py里代理服务商的 key 是通过环境变量读取的而不是硬编码在代码里export jisu_key你的提取key export jisu_crypto你的加密签名密钥不写死在代码里而是通过环境变量传入既安全又方便多环境切换深度玩法。想扩展新平台项目抽象了AbstractCrawler基类新平台照着media_platform/下现有平台的client.py、core.py、login.py的结构复制一份改就行整体框架在 docs/项目代码结构.md 里讲得很清楚。 项目背后文档、社群与长期更新MediaCrawler 不是那种发布完就没人管的玩具项目。它配套了常见问题、代码结构说明、手机号登录教程三份中文文档社区活跃度一直在线。这类爬虫项目最大的风险是平台一更新就废而它把核心逻辑都抽象成可替换的模块加上活跃维护长期使用的安全感会高很多。如果遇到文档没覆盖的问题项目提供的交流群是获取一手踩坑经验的好地方遇到平台更新、新报错群里往往已经有解决方案比你自己翻源码快得多 现在轮到你动手了附合规提醒说了这么多不如自己跑一次。照着下面这份清单走十分钟内你就能看到真实数据拿代码git clone https://gitcode.com/GitHub_Trending/me/MediaCrawler-new装依赖、装 Playwright 内核改配置config/base_config.py里把平台和关键词改成你真正关心的内容跑一次python main.py --platform xhs --lt qrcode --type search扫码登录看结果去data/目录确认数据落地再决定要不要开代理IP、调并发。最后也是最重要的一句请把 MediaCrawler 用在合法合规的地方。采集公开数据用于学习、研究、内容分析完全没问题但不要大规模爬取、不要用于商业变现、不要触碰用户隐私。数据的价值在于被善用尊重平台规则这个工具才能陪你走得更远。如果你在跑的过程中遇到了什么坑欢迎对照文中的避坑清单自查解决不了的带上报错信息去交流群问别一个人硬扛——数据采集这条路上你并不孤单。【免费下载链接】MediaCrawler-new项目地址: https://gitcode.com/GitHub_Trending/me/MediaCrawler-new创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进