资讯动态

MediaCrawler 采集教程:小红书抖音B站数据抓取指南

发布时间:2026/10/26 1:50:09 来源:尧图企业网站定制
MediaCrawler 采集教程小红书抖音B站数据抓取指南【免费下载链接】MediaCrawler-new项目地址: https://gitcode.com/GitHub_Trending/me/MediaCrawler-newMediaCrawler 是基于 Python 的开源数据采集框架覆盖小红书、抖音、快手、B站、微博抓取帖子、评论与点赞转发数据。它用 Playwright 驱动浏览器完成登录免去加密参数逆向适合做内容分析的人使用。功能覆盖一览五个平台支持哪些爬取模式平台二维码登录Cookie 登录关键词搜索指定ID爬取创作者主页IP 代理池滑块验证码小红书✅✅✅✅✅✅✕抖音✅✅✅✅✕✅✅快手✅✅✅✅✕✅✕B站✅✅✅✅✕✅✕微博✅✅✅✅✕✅✕五个平台都支持登录状态缓存缓存后重复运行不用再次扫码和 csv、json、数据库三种数据保存。指定 ID 爬取时各平台在 config/base_config.py 中有对应的 ID 列表变量如XHS_SPECIFIED_ID_LIST、BILI_SPECIFIED_ID_LIST。环境准备与首次运行从 clone 到第一批数据git clone https://gitcode.com/GitHub_Trending/me/MediaCrawler-new克隆完成后在项目目录里创建并激活虚拟环境安装 Python 依赖与浏览器内核python -m venv venv source venv/bin/activate pip install -r requirements.txt playwright installWindows 下激活命令换成venv\Scripts\activate。然后执行搜索模式爬取python main.py --platform xhs --lt qrcode --type search这条命令会启动无头浏览器用小红书 App 扫码登录后自动开始抓取结果落到data/目录。如果后续要爬抖音先装 Node.js v16.8.0抖音签名依赖本地 JS 执行。⚙️ 关键配置项爬取类型、保存格式与无头模式三个最影响使用体验的配置CRAWLER_TYPE决定爬取模式。search按KEYWORDS关键词搜索detail按配置里的 ID 列表抓指定帖子creator抓创作者主页仅小红书支持。SAVE_DATA_OPTIONcsv、json直接写入data/目录db写入 MySQL/PgSQL连接信息在 config/db_config.py 配置也支持 sqlite。HEADLESSTrue时无头运行设为False会弹出可见浏览器小红书扫码不通过或出现滑块时可以人工介入。另外ENABLE_GET_COMMENTS默认False需要评论数据时改为TrueCRAWLER_MAX_NOTES_COUNT与MAX_CONCURRENCY_NUM分别控制单次采集上限和并发数。 实战场景按热度抓取小红书健身教程笔记目标拿一批按热度排序的健身教程笔记连同评论内容用于话题趋势分析。配置改动均在config/base_config.pyPLATFORM xhsKEYWORDS 健身教程SORT_TYPE popularity_descending按热度排序排序选项目前仅小红书支持ENABLE_GET_COMMENTS TrueCRAWLER_MAX_NOTES_COUNT 100执行与首次运行相同的 search 命令。产出物是data/下的数据文件格式跟随SAVE_DATA_OPTION包含笔记正文、点赞收藏等互动计数开启评论后还有逐条评论。后续可以直接用 pandas 读取做词频统计或互动趋势图。 代理 IP 池配置Redis 缓存与密钥设置大规模采集时 IP 容易被风控项目内置了代理 IP 池启动时判断是否启用代理从服务商拉取可用 IP 存入 Redis 并记录过期时间再由爬虫从池中取用。整体流程见下图。MediaCrawler 代理 IP 池获取与轮换流程图配置步骤本地安装 Redis 并设置密码连接信息写在config/db_config.pyREDIS_DB_HOST、REDIS_DB_PWD。在代理服务商后台生成 API 链接取其中的key和crypto两个参数。把两个参数写入环境变量避免在代码里硬编码明文密钥。修改配置启用代理ENABLE_IP_PROXY TrueIP_PROXY_POOL_COUNT控制池内 IP 数量。目录结构平台实现与存储模块怎么组织入口是main.py按--platform参数分发到media_platform/下小红书、抖音、快手、B站、微博各自的 crawler 实现它们都继承base/base_crawler.py的抽象基类。store/里每个平台对应一套存储实现csv/json/db 三选一proxy/负责代理 IP 池的拉取与缓存tools/放滑块处理、滑动轨迹模拟等函数libs/中的douyin.js是抖音签名脚本、stealth.min.js用于去除浏览器自动化特征。️ 首次运行报错排查超时、缺 Node.js 与登录失效现象爬抖音报execjs._exceptions.ProgramError: SyntaxError: 缺少 ;。原因本机缺少 Node.js 运行时。解法安装 Node.js v16.8.0 后重试。现象playwright TimeoutError: Timeout 30000ms exceeded。原因网络无法访问目标站点通常是网络环境没配好。解法检查网络与代理设置后再重试。现象一开始能正常爬取过几天登录态失效、抓不到数据。原因账号触发了平台风控。解法删除根目录browser_data/下的缓存换账号重新登录同时调低采集上限和并发避免大规模抓取。现象小红书二维码扫码一直不通过或弹出滑块。原因无头浏览器行为被平台识别。解法把HEADLESS设为False在可见浏览器中手动完成验证。更多问题可查 docs/常见问题.md。建议先用默认配置跑通一次小红书 search 模式确认data/目录生成了数据文件流程验证后再按需调整关键词、开启评论采集或接入代理池与数据库存储。项目仅限学习研究用途采集规模请遵守各平台规则。【免费下载链接】MediaCrawler-new项目地址: https://gitcode.com/GitHub_Trending/me/MediaCrawler-new创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑