news 2026/9/9 19:20:14

如何开启 MediaCrawler 的图片与视频下载爬取(ENABLE_GET_MEIDAS)?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何开启 MediaCrawler 的图片与视频下载爬取(ENABLE_GET_MEIDAS)?

如何开启 MediaCrawler 的图片与视频下载爬取(ENABLE_GET_MEIDAS)?

【免费下载链接】MediaCrawler小红书笔记 | 评论爬虫、抖音视频 | 评论爬虫、快手视频 | 评论爬虫、B 站视频 | 评论爬虫、微博帖子 | 评论爬虫、百度贴吧帖子 | 百度贴吧评论回复爬虫 | 知乎问答文章|评论爬虫项目地址: https://gitcode.com/GitHub_Trending/me/MediaCrawler

MediaCrawler 默认只爬取笔记、视频、评论等文本数据,图片与视频文件本身不会被保存下来。如果你需要把小红书笔记里的配图、视频,或抖音、B 站、微博的内容媒体文件下载到本地,就要在 config/base_config.py 中把媒体爬取开关ENABLE_GET_MEIDASFalse改为True。这篇文章给出从改配置、运行到确认文件落地的完整操作路径。

准备条件

按 README.md 快速开始一节的说明,运行前需要:

  • 已安装uv(终端执行uv --version能正常显示版本号即安装成功);
  • Node.js 版本 >= 16.0.0;
  • 在项目目录下执行uv sync安装依赖:
# 进入项目目录 cd MediaCrawler # 使用 uv sync 命令来保证 python 版本和相关依赖包的一致性 uv sync

浏览器方面,项目默认使用 CDP 模式连接你已有的 Chrome 浏览器,无需额外安装浏览器驱动。使用前需要安装最新版 Chrome(版本 >= 144),并在地址栏输入chrome://inspect/#remote-debugging,勾选 "Allow remote debugging for this browser instance",页面显示Server running at: 127.0.0.1:9222表示就绪。运行爬虫后 Chrome 会弹出确认对话框,60 秒内点击"接受"即可。

如果不想使用 CDP 模式,可以在 config/base_config.py 中设置ENABLE_CDP_MODE = False切换为标准 Playwright 模式,并按 README 说明执行uv run playwright install安装浏览器驱动。

开启媒体爬取开关

打开 config/base_config.py,找到这一项:

# Whether to enable crawling media mode (including image or video resources), crawling media is not enabled by default ENABLE_GET_MEIDAS = False

它的注释说明:是否开启爬取媒体模式(包括图片或视频资源),默认不爬取媒体。将其改为:

ENABLE_GET_MEIDAS = True

两个容易踩坑的点:

  1. 配置项名字就是ENABLE_GET_MEIDAS,注意末尾是MEIDAS而不是常见的拼写MEDIAS,改错名字不会生效,只会创建一个无关的新变量。
  2. 媒体文件的存放位置受SAVE_DATA_PATH控制。同一文件中(config/base_config.py):
# Data saving path, if not specified by default, it will be saved to the data folder. SAVE_DATA_PATH = ""

SAVE_DATA_PATH为空时,媒体文件保存在项目data/目录下;把它设为自定义路径后,媒体文件会存到该路径下的对应平台子目录。本示例保持默认(空值)即可。

另外建议顺手控制一下爬取量,同一文件中的CRAWLER_MAX_NOTES_COUNT = 15控制爬取的帖子/视频数量,首次验证时可以调小,避免一次性下载大量媒体文件。

运行爬取

配置完成后,按 README.md 的示例运行。以小红书关键词搜索为例:

# 从配置文件中读取关键词搜索相关的帖子并爬取帖子信息与评论 uv run main.py --platform xhs --lt qrcode --type search

其他平台或爬取类型(detail指定帖子 ID 爬取、creator创作者主页)的用法可以用uv run main.py --help查看,配置项PLATFORMKEYWORDSCRAWLER_TYPE同样在 config/base_config.py 中修改。

当前代码中,小红书、抖音、B 站、微博的爬虫实现及其媒体保存模块会读取这个开关,例如 media_platform/xhs/core.py 中的get_notice_media:开关未开启时直接打印日志并返回,开启后依次下载笔记图片和视频。

验证媒体是否下载成功

判断是否生效,分两层看:

看日志。保存成功后,媒体存储模块会逐条打印(store/xhs/xhs_store_media.py):

[XiaoHongShuImageStoreImplement.save_image] save image data/xhs/images/{note_id}/0.jpg success ...

如果开关没打开,日志里会出现:

[XiaoHongShuCrawler.get_notice_media] Crawling image mode is not enabled

看到这条说明你改的不是ENABLE_GET_MEIDAS,回到配置里检查拼写。

看落盘文件。目录结构由各平台的媒体存储实现决定,文件以内容 ID 作为子目录名,按0.jpg1.jpg0.mp4这样的序号命名:

平台图片视频
小红书data/xhs/images/{note_id}/data/xhs/videos/{note_id}/
抖音data/douyin/images/{aweme_id}/data/douyin/videos/{aweme_id}/
B 站data/bili/videos/{aid}/
微博data/weibo/images/

运行结束后到对应目录确认文件存在即可;若设置了SAVE_DATA_PATH,把上面的data/换成你配置的路径。文本数据(jsonl/csv/db 等)的保存方式与媒体下载相互独立,参见 docs/data_storage_guide.md。

边界与限制

  • 媒体爬取默认关闭,且下载是同步逐条进行的,小红书实现中每个资源下载之间还带有随机等待(见 media_platform/xhs/core.py),资源越多耗时越长。
  • 项目代码头部声明其用途限于学习和研究,使用时应遵守目标平台条款并控制请求频率,媒体下载同样适用这一约束(见 config/base_config.py 的声明)。
  • 快手、贴吧、知乎的爬取流程中未见对ENABLE_GET_MEIDAS的引用,本开关目前只对上述四个平台的媒体下载起作用。

完成一次小批量爬取、在data/对应子目录里看到成功日志和实际文件后,就可以按同样的方式跑正式任务了;如果某个平台日志显示保存成功但目录为空,优先检查SAVE_DATA_PATH是否指向了其他位置。

【免费下载链接】MediaCrawler小红书笔记 | 评论爬虫、抖音视频 | 评论爬虫、快手视频 | 评论爬虫、B 站视频 | 评论爬虫、微博帖子 | 评论爬虫、百度贴吧帖子 | 百度贴吧评论回复爬虫 | 知乎问答文章|评论爬虫项目地址: https://gitcode.com/GitHub_Trending/me/MediaCrawler

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/9 19:19:42

孤岛交直流微电网集群构网型变流器故障的不间断分层分布式控制复现

做交直流混合微电网集群的论文复现,最磨人的往往不是主电路拓扑本身,而是故障发生的那一瞬间,控制系统怎么在几百毫秒内把电压和频率的“接力棒”平稳交出去。我复现的这篇论文,主题就落在孤岛交直流微电网集群在构网型变流器故障…

作者头像 李华
网站建设 2026/9/9 19:15:39

串口通信从原理到实践:UART、RS232、TTL与Python联调指南

简介:串口通信是嵌入式开发、设备联调与自动化测试中最基础也最可靠的通信手段,广泛应用于单片机、工业控制及上位机交互等场景。理解UART、RS232、TTL的本质区别,掌握波特率、数据位、停止位等关键参数配置,是排除通信故障的第一…

作者头像 李华
网站建设 2026/9/9 19:14:29

Java Integer 128陷阱:自动装箱与缓存机制深度解析

写Java的都知道有个经典“面试陷阱”,但真正在业务代码里踩过这个坑的人,感受完全不一样。先看这段代码:Integer a 127; Integer b 127; System.out.println(a b); // trueInteger c 128; Integer d 128; System.out.println(c d); // …

作者头像 李华
网站建设 2026/9/9 19:14:14

国产BMS源码深度解析:三级架构、核心算法与调板实战

简介:一套国内电池管理系统(BMS)源码,面向BMS、嵌入式及新能源汽车领域的开发与学习者。资源基于主机XC2287M与从机MC9S08DZ60硬件平台,通过CAN总线以500kbps速率通信,覆盖从底层驱动到应用层完整软件栈&am…

作者头像 李华