MediaCrawler 从零到上手:五大平台社交媒体数据采集终极指南
MediaCrawler 从零到上手五大平台社交媒体数据采集终极指南【免费下载链接】MediaCrawler-new项目地址: https://gitcode.com/GitHub_Trending/me/MediaCrawler-newMediaCrawler 是一款基于 Playwright 的开源跨平台爬虫框架一套代码即可采集小红书、抖音、快手、B站、微博五大平台的视频、图片、评论、点赞、转发等数据。本指南将带你从环境配置、跑通第一个爬虫一直进阶到代理IP池等高级玩法全程不涉及复杂的加密逆向知识。先说一个场景你是不是也在这样搬数据想象一下你是某品牌的市场运营老板让你统计小红书粉底液前 50 篇笔记的点赞和评论。于是你打开网页一篇一篇点开、复制、粘贴到 Excel……两小时后手腕酸痛数据还只收集了一半。更麻烦的是抖音、快手、微博的数据格式各不相同你不得不同时维护好几套手工流程。这不是效率问题是这套工作方式本身就过时了。MediaCrawler 要解决的正是这个多平台数据采集的麻烦事。一句话看懂 MediaCrawler社交平台的万能遥控器你可以把 MediaCrawler 想象成一台万能遥控器不用拆开电视去研究电路不用逆向各平台的加密算法只需按几个按键改几行配置就能统一操作五台电视——小红书、抖音、快手、B站、微博。它凭什么能做到核心秘密是Playwright 浏览器自动化程序会真的打开一个浏览器模拟真人操作。登录一次后浏览器上下文被完整保留后续所有加密参数都由真实浏览器环境顺手生成你完全不需要复现平台的加密 JS 代码。这也是它和传统爬虫最大的区别——免逆向。一句话总结它的价值 不用逆向加密算法爬虫门槛大幅降低 五平台统一接口一套代码四处通用 登录状态自动缓存不用天天扫码️ 内置代理IP池降低封号风险 支持 CSV / JSON / 数据库三种存储方式 模块化设计新增平台只需复制一个文件夹一张图看懂它怎么工作MediaCrawler 的代码结构非常清爽核心就这几个目录MediaCrawler/ ├── base/ # 爬虫抽象基类所有平台共用一套接口 ├── media_platform/ # 五大平台实现xhs/douyin/kuaishou/bilibili/weibo ├── proxy/ # 代理IP池管理拉取、缓存、轮换 ├── store/ # 数据存储层CSV/JSON/数据库 ├── tools/ # 滑块模拟、时间处理等工具函数 ├── config/ # 所有配置都集中在这里 └── main.py # 程序唯一入口程序启动后先根据你选的平台和登录方式建立会话然后按关键词搜索 / 指定ID / 创作者主页三种模式抓取内容最后把结果交给存储层落盘。当你开启代理IP功能时请求的完整链路是这样的图片来源项目文档展示了从拉取代理IP、存入 Redis 到轮换使用的完整流程整个流程不用你操心MediaCrawler 会在 Redis 里维护一个IP 池IP 过期自动淘汰、不够用自动补充。想看更细的代码结构直接翻阅官方文档docs/项目代码结构.md。三步跑通你的第一个爬虫环境配置比你想象的简单跟着走一遍就好。第一步克隆并安装依赖git clone https://gitcode.com/GitHub_Trending/me/MediaCrawler-new cd MediaCrawler-new python -m venv venv source venv/bin/activate # Windows 用 venv\Scripts\activate pip install -r requirements.txt playwright install第二步修改一处配置打开config/base_config.py确认你要爬的平台和关键词PLATFORM xhs # xhs | dy | ks | bili | wb KEYWORDS python,golang # 想搜什么就写什么 LOGIN_TYPE qrcode # qrcode | phone | cookie SAVE_DATA_OPTION json # csv | db | json第三步运行并扫码python main.py --platform xhs --lt qrcode --type search浏览器会自动弹出小红书二维码用手机 App 扫码登录爬虫就开工了。采集结果会保存到项目根目录的data/文件夹下按平台和时间自动分类。进阶玩法用代理IP池甩开封号风险小规模爬取用不着代理但如果你想采集上千条数据同一 IP 高频请求很容易触发平台风控。这时候就该开启 MediaCrawler 的代理IP池了。打开配置文件把开关拨到开ENABLE_IP_PROXY True # 开启 IP 代理 IP_PROXY_POOL_COUNT 5 # 代理池里放几个 IP然后去你常用的代理服务商项目默认对接极速HTTP后台提取 IP。生成 API 链接后把密钥填进proxy/proxy_ip_provider.py对应的环境变量里jisu_key os.getenv(jisu_key, ) # 去代理商后台注册获取 jisu_crypto os.getenv(jisu_crypto, )下图左边是代理平台的 IP 提取界面右边是密钥在代码中的位置一眼就能对上另外两个常用的进阶开关也在这份配置文件里MAX_CONCURRENCY_NUM 4 # 并发数越大越快但越容易被风控 ENABLE_GET_COMMENTS True # 开启评论采集 CRAWLER_MAX_NOTES_COUNT 20 # 每次最多抓多少条想指定爬某几条笔记或视频把 ID 填进对应的XX_SPECIFIED_ID_LIST列表即可比如抖音填DY_SPECIFIED_ID_LIST、B站填BILI_SPECIFIED_ID_LIST。三种人三种玩法市场分析师把关键词设为粉底液,遮瑕膏,口红开启评论采集导出 JSON 后用 Python 做情感分析一周的市场调研两天就能搞定。内容创作者用--type creator模式抓自己账号的数据当前支持小红书创作者主页分析哪类视频互动率最高选题不再靠猜。学生与研究者批量采集公开讨论数据用于毕业论文的舆情分析搭配数据库存储模式上千条数据也能轻松管理查询。新手最容易踩的四个坑Q一运行就报execjs语法错误A这是缺少 Node.js 环境导致的装一个 v16.8.0 版本的 Node.js 即可。Q爬着爬着突然抓不到数据了A多半是账号触发了平台风控。立刻降低并发数、放慢节奏不要大规模采集。Q想换个账号登录怎么办A删除项目根目录下的browser_data/文件夹重新运行就会弹出新的登录二维码。Q报错Timeout 30000ms exceededA检查网络是否稳定、是否开了代理工具必要时把超时时间调大。更多问题可以查官方文档docs/常见问题.md、docs/手机号登录说明.md。项目生态与你的下一步MediaCrawler 采用工厂模式设计新增平台只需在media_platform/下新建目录并实现抽象基类主程序main.py完全不用动社区也因此一直在贡献新的平台适配。无论你是想直接用、还是想学爬虫架构设计它都是一份很好的参考代码。现在就可以行动了克隆仓库按三步跑通完成环境配置先用--type search爬一次小红书感受流程数据量上来了再开启代理IP池和并发控制最后按你的需求选择 CSV、JSON 或数据库存储最后提醒一句MediaCrawler 仅用于合法的学习和研究。请务必遵守相关法律法规与各平台的服务条款尊重数据隐私不要对平台进行大规模爬取共同维护健康的网络环境。【免费下载链接】MediaCrawler-new项目地址: https://gitcode.com/GitHub_Trending/me/MediaCrawler-new创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考