三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

告别复制粘贴:MediaCrawler 一站式搞定五大平台数据采集

告别复制粘贴:MediaCrawler 一站式搞定五大平台数据采集

告别复制粘贴:MediaCrawler 一站式搞定五大平台数据采集

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

凌晨一点,运营群还在传 Excel。同事手动复制了 200 条小红书的点赞和评论数据,眼睛快瞎了。这不是段子——凡是做过市场调研、竞品分析、内容选题的人,都经历过这种"人肉爬虫"。

MediaCrawler就是为终结这种低效而生的:它是一款开源的一站式社交媒体数据采集工具,覆盖小红书、抖音、快手、B站、微博五大平台,用 Playwright 模拟真人操作,自动抓取视频、图片、评论、点赞、转发等数据,并把结果稳妥落进本地文件或数据库,把重复劳动彻底交给程序。

🎯 它最懂"人肉采集"的痛点

手工采集为什么让人崩溃?

  • 翻页要手点、数据要手抄、格式要手排
  • 复制稍快一点就触发验证码
  • 五六个平台,五种数据结构

MediaCrawler 的解法很聪明:不逆向加密算法,而是让浏览器"假装是真人"

它基于 Playwright 打开真实浏览器完成登录,再通过执行 JS 获取加密参数,配合 stealth 脚本抹掉自动化痕迹。等于派了一个"数字分身"替你干活,反爬这道墙自然就绕过去了。

🛠 把环境装起来:5分钟完成配置

项目跑起来比想象中简单。先克隆代码、安装依赖:

git clone https://gitcode.com/GitHub_Trending/me/MediaCrawler-new cd MediaCrawler-new pip install -r requirements.txt playwright install

接着打开config/base_config.py,改三个值就够了:

PLATFORM = "xhs" # 平台:xhs/dy/ks/bili/wb KEYWORDS = "数据采集" # 要搜索的关键词 LOGIN_TYPE = "qrcode" # 登录方式:qrcode/phone/cookie

然后启动爬虫:

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

浏览器弹出二维码,手机 App 扫码登录后,数据就会一条条落进data/目录。三步,拿到第一批数据。

🔐 登录不再劝退:三种方式随意切换

  • 二维码登录:第一次使用最顺手,扫码即走
  • 手机号登录:配合短信转发器,适合不便扫码的场景
  • Cookie 登录:适合批量账号轮换

登录状态会自动缓存,下次启动免登录。--lt参数一换,登录方式就切过去了,业务代码一行不用改。

📊 数据落地三选一,总有一种适合你

  • JSON:结构完整,方便程序二次处理
  • CSV:Excel 直接打开,运营同学的最爱
  • DB:大规模数据存 MySQL/PgSQL,db.py自动建表

SAVE_DATA_OPTION改成csvdb即可,data/目录下自动按平台和时间归档。

🔧 进阶一:代理IP池,给大规模采集穿上"隐身衣"

采集几十条没问题,一旦上量,平台很容易盯上你的 IP。MediaCrawler 内置完整的代理IP管理方案:从服务商拉取 IP、存入 Redis、按需取用、过期自动轮换:

![MediaCrawler 数据采集代理IP池工作流程](https://raw.gitcode.com/GitHub_Trending/me/MediaCrawler-new/raw/387f08701788e8e626b688ecf6ef50f669a80b75/static/images/代理IP 流程图.drawio.png?utm_source=gitcode_repo_files)

开启只需两行配置:

ENABLE_IP_PROXY = True IP_PROXY_POOL_COUNT = 5

密钥通过环境变量管理。先去服务商后台按需提取一批 IP(数量、时长、协议都能定制):

export jisu_key="你的key" export jisu_crypto="你的crypto"

这套"IP池 + 自动轮换 + 过期清理"的组合,就是低成本防封号的关键。

⚡ 进阶二:评论采集与并发调优

只拿帖子信息往往不够。把ENABLE_GET_COMMENTS设为True,评论数据会一并抓取;MAX_CONCURRENCY_NUM控制并发数量,CRAWLER_MAX_NOTES_COUNT控制单次采集量。建议从并发 4、单次 20 条起步,稳定后再逐步加码。

💼 真实场景:什么人在用它解决什么问题

  • 市场分析师:把"粉底液、口红、防晒"设为关键词,一晚跑完一周的功课,从热门评价里提炼用户偏好和趋势
  • 内容创作者:用detail模式输入竞品视频 ID,批量分析点赞评论数据,反推选题方向
  • 学术研究者:用creator模式抓取指定博主主页全部作品,采集公共讨论做舆情分析,数据可复现

🚦 三个容易踩的坑,提前帮你排掉

  • 登录失败:删除缓存的登录状态目录再重试,或换个登录方式
  • 采集太慢:优先排查代理IP是否生效,再调并发参数,别盲目改代码
  • 数据不完整:确认采集数量配置符合预期,留意平台自身的访问频率限制

🏁 从"人肉采集"到"数据自由",只差一个开始

如果你正被复制粘贴折磨,或想给研究、创作加上数据支撑,花 5 分钟把 MediaCrawler 跑起来,让第一批数据自己"走进"你的文件夹。

最后提醒一句:任何数据采集都应遵守平台规则与相关法律法规,仅用于合法的学习与研究,尊重数据隐私。工具是中性的,如何用好它,取决于我们的选择。

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

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

← 返回列表