如何开启 MediaCrawler 的图片与视频下载爬取(ENABLE_GET_MEIDAS)?
【免费下载链接】MediaCrawler小红书笔记 | 评论爬虫、抖音视频 | 评论爬虫、快手视频 | 评论爬虫、B 站视频 | 评论爬虫、微博帖子 | 评论爬虫、百度贴吧帖子 | 百度贴吧评论回复爬虫 | 知乎问答文章|评论爬虫项目地址: https://gitcode.com/GitHub_Trending/me/MediaCrawler
MediaCrawler 默认只爬取笔记、视频、评论等文本数据,图片与视频文件本身不会被保存下来。如果你需要把小红书笔记里的配图、视频,或抖音、B 站、微博的内容媒体文件下载到本地,就要在 config/base_config.py 中把媒体爬取开关ENABLE_GET_MEIDAS从False改为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两个容易踩坑的点:
- 配置项名字就是
ENABLE_GET_MEIDAS,注意末尾是MEIDAS而不是常见的拼写MEDIAS,改错名字不会生效,只会创建一个无关的新变量。 - 媒体文件的存放位置受
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查看,配置项PLATFORM、KEYWORDS、CRAWLER_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.jpg、1.jpg、0.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),仅供参考