首页 / 资讯中心 / 文章详情

MediaCrawler 多平台媒体爬虫完整指南:7 个平台、零 JS 逆向的采集方案

MediaCrawler 多平台媒体爬虫完整指南:7 个平台、零 JS 逆向的采集方案 ★ FEATURED ARTICLE
MediaCrawler 多平台媒体爬虫完整指南7 个平台、零 JS 逆向的采集方案【免费下载链接】MediaCrawler小红书笔记 | 评论爬虫、抖音视频 | 评论爬虫、快手视频 | 评论爬虫、B 站视频 评论爬虫、微博帖子 评论爬虫、百度贴吧帖子 百度贴吧评论回复爬虫 | 知乎问答文章评论爬虫项目地址: https://gitcode.com/GitHub_Trending/me/MediaCrawlerMediaCrawler 是一个开源的多平台自媒体数据采集工具覆盖小红书、抖音、快手、B 站、微博、百度贴吧、知乎 7 个平台能抓取笔记/视频/帖子正文、一级与二级评论、创作者主页数据还能顺手生成评论词云图。它最省心的地方在于技术路线基于 Playwright 的浏览器自动化登录并保存登录态再用 JS 表达式在真实浏览器上下文里取签名参数——你不需要自己逆向任何加密算法登录方式和真实用户没有本质区别。上手之前只需要两样东西uvPython 包管理器装完用uv --version验证和 Node.js ≥ 16抖音、知乎平台的签名脚本要用execjs执行缺了会报SyntaxError。git clone https://gitcode.com/GitHub_Trending/me/MediaCrawler cd MediaCrawler uv sync浏览器这块按默认配置走最稳。项目默认开启 CDP 模式直接连接你自己电脑上的 Chrome版本 ≥ 144复用已有的 Cookie、扩展和浏览历史反检测效果最好。做法是在 Chrome 地址栏输入chrome://inspect/#remote-debugging勾选 Allow remote debugging for this browser instance看到Server running at: 127.0.0.1:9222就说明就绪了。不想用 CDP 的话把config/base_config.py里的ENABLE_CDP_MODE设为False再执行uv run playwright install装一次浏览器驱动即可。配置集中在config/base_config.py全是带中文注释的变量。日常最常用的三个KEYWORDS关键词英文逗号分隔多个、CRAWLER_TYPE爬取类型、CRAWLER_MAX_NOTES_COUNT抓取条数默认 15。然后一条命令启动uv run main.py --platform xhs --lt qrcode --type search--platform可取xhs | dy | ks | bili | wb | tieba | zhihu--lt是登录方式qrcode扫码 /phone短信 /cookie--type对应下面的三种爬法。第一次运行会弹浏览器让你扫码登录态会缓存下来之后免登。跑通之后具体想抓什么由CRAWLER_TYPE决定三种模式各有适用场景search关键词搜索读KEYWORDS配置从搜索结果页逐条抓帖子适合找某话题下近期有哪些内容。detail指定帖子在config里对应平台的SPECIFIED_ID_LIST填帖子 ID 或 URL精确抓某几条适合竞品逐条对标。creator创作者主页抓指定博主主页下的作品列表监控账号更新。三个平台共用的能力还有登录态缓存、IP 代理池、评论词云图。另外几个值得知道的行为细节评论开关ENABLE_GET_COMMENTS默认开启CRAWLER_MAX_COMMENTS_COUNT_SINGLENOTES控制单帖一级评论条数默认 10二级评论由ENABLE_GET_SUB_COMMENTS控制默认关闭。媒体下载默认关闭。加参数--get_media true或设ENABLE_GET_MEDIA True封面、视频、图文会按data/{平台}/media/{帖子ID}/聚合落盘支持 xhs / dy / ks / bili / wb 五个平台贴吧、知乎的数据结构里没有媒体字段。B 站装好 ffmpeg 后走 DASH 分轨下载再合流能拿到最高画质没装会自动降级为 mp4 直链。下载失败只记日志不会中断爬取。词云图ENABLE_GET_WORDCLOUD True并配合评论爬取即可生成停用词写在 docs/hit_stopwords.txt自定义词组在CUSTOM_WORDS里按词:分组格式追加详细规则见 词云图使用配置。如果不想敲命令行项目自带一套 WebUI左边可视化配置平台和参数右边实时看日志。开发模式开两个终端即可uv run uvicorn api.main:app --port 8080 --reload cd webui npm install npm run dev然后访问http://localhost:5173/。也可以npm run build把产物打进api/webui/之后只起 8080 端口一个服务就够。数据预览、导出都能在界面上直接做。规模化采集绕不开代理。MediaCrawler 内置了代理池模块proxy/proxy_ip_pool.py启动时按IP_PROXY_POOL_COUNT默认 2 个向提供商拉取 IP内置有效性校验失效 IP 会被踢出池子。启用方式是把config/base_config.py里的ENABLE_IP_PROXY改为True再选一个IP_PROXY_PROVIDER_NAMEkuaidaili内置提供商去快代理开通免费试用从免费代理入口领取 IP 即可流程截图见 快代理使用文档。wandouhttp / 极速 HTTP同样是 API 拉取模式需要把jisu_key、jisu_crypto通过环境变量传给JisUHttpProxy密钥获取位置如下图红框处。static不想依赖第三方平台 API 的话选这个直接在STATIC_PROXY_URL填http://user:passhost:port格式的固定代理。代理不是万能药请求间隔更值得先调。CRAWLER_MAX_SLEEP_SEC默认 2 秒MAX_CONCURRENCY_NUM默认 1 并发——这两个参数就是平台风控最关心的东西别为了速度把它俩推到极限。数据落哪里由SAVE_DATA_OPTION一个变量说了算支持 7 种csv、json、jsonl、excel、sqlite、dbMySQL历史兼容名、postgres。默认jsonl每行一个 JSON 对象、追加写性能最好。选型上随手看用jsonl要给人看选excel内容/评论/创作者分工作表带格式和自动列宽指南见 Excel 导出指南要长期存、跨次去重就落数据库因为数据库存储自带按内容 ID 的去重逻辑。SQLite 最轻先执行一次初始化再跑爬虫uv run main.py --init_db sqlite uv run main.py --platform xhs --lt qrcode --type search --save_data_option sqliteMySQL、PostgreSQL 同理分别用--init_db mysql和--init_db postgres完整对照表在 数据存储指南。自定义落盘路径则设SAVE_DATA_PATH不填默认落data/目录。踩坑基本集中在登录和连接两层都是配置问题而非代码问题滑块卡死、扫码一直验证不通过小红书风控对裸浏览器很敏感。优先回到 CDP 模式连接自己的真实 Chrome还不行的话删掉项目根目录的brower_data/目录重新走登录。HEADLESS保持False也能让你在浏览器里手动拖滑块。提示Cannot connect to existing browser on port 9222按顺序查四件事——Chrome 是否开着、远程调试是否勾选、地址栏是否出现Server running at: 127.0.0.1:9222、Chrome 版本是否 ≥ 144chrome://version查看。不想连已有浏览器把CDP_CONNECT_EXISTING设为False让程序自启一个新实例。爬抖音/知乎报execjs相关错误Node.js 环境缺失或版本低于 16装上即可详见 常见问题。Timeout 30000ms exceededplaywright 拉浏览器超时常见于网络受限环境检查网络后重试。刚能爬、过一阵就失效多半是账号触发了平台风控控制条数和频率必要时换账号删brower_data/重登。项目声明仅限学习研究用途请勿对任何平台做大规模抓取合规红线见 README 中的免责声明。更多报错场景指定帖子爬取、更换账号、词云配置等都整理在 docs/常见问题.md 里先查文档再动手。下一步可以做什么用--help跑一遍uv run main.py --help把 7 个平台的参数差异过一遍。挑一个你真正关心的关键词先用CRAWLER_MAX_NOTES_COUNT 15的小批量试爬确认登录态和数据字段都正常再逐步放量。把SAVE_DATA_OPTION切到sqlite或postgres并执行一次--init_db验证去重逻辑——重复跑同一关键词数据库里不应出现重复行。需要盯某个账号的话用creator模式加定时任务隔一段时间跑一次。读两遍 config/base_config.py 的中文注释再翻一遍 docs/CDP模式使用指南.md这两个文件基本覆盖了日常 90% 的配置需求。【免费下载链接】MediaCrawler小红书笔记 | 评论爬虫、抖音视频 | 评论爬虫、快手视频 | 评论爬虫、B 站视频 评论爬虫、微博帖子 评论爬虫、百度贴吧帖子 百度贴吧评论回复爬虫 | 知乎问答文章评论爬虫项目地址: https://gitcode.com/GitHub_Trending/me/MediaCrawler创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?
咨询建站