ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

MediaCrawler完整指南:15分钟搭建七平台爬虫,如何从安装到抓到首批带评论数据

MediaCrawler完整指南:15分钟搭建七平台爬虫,如何从安装到抓到首批带评论数据 MediaCrawler完整指南15分钟搭建七平台爬虫如何从安装到抓到首批带评论数据【免费下载链接】MediaCrawler小红书笔记 | 评论爬虫、抖音视频 | 评论爬虫、快手视频 | 评论爬虫、B 站视频 评论爬虫、微博帖子 评论爬虫、百度贴吧帖子 百度贴吧评论回复爬虫 | 知乎问答文章评论爬虫项目地址: https://gitcode.com/GitHub_Trending/me/MediaCrawler项目速览MediaCrawler能做什么MediaCrawler 是一个开源的自媒体平台数据采集工具覆盖小红书、抖音、快手、B站、微博、百度贴吧、知乎七大平台。它提供关键词搜索、指定帖子、创作者主页三种取数方式采集结果包含帖子/视频正文、评论可含二级评论与创作者主页数据支持按关键词批量爬取并输出 JSON、Excel、CSV 或数据库。工具基于浏览器自动化完成登录与请求签名参数由真实页面环境产出你不需要自己研究平台的加密签名算法。适合做跨平台数据比对的调研与运营人员以及想直接拿现成爬虫框架、不想从零写逆向的开发者。痛点跨平台人工整理数据有多慢做内容调研时一个常见任务是整理平价精华这类话题在小红书上的热帖及其评论区再对抖音、B站重复一遍。手工逐篇点开复制半天只能攒出十几条评论区基本碰不到。这类跨平台、带评论的批量采集就是 MediaCrawler 要接管的活改几个配置项跑一条命令。快速上手从装环境到第一条数据第 1 步环境准备检查 Python、Node.js 与 Chrome 版本Python3.11 及以上运行python --version确认Node.js16 及以上node -v确认抖音、知乎的签名逻辑依赖它Chrome144 及以上地址栏输入chrome://version查看CDP 模式复用真实浏览器需要它包管理工具 uvuv --version能输出版本号即可第 2 步克隆仓库并一键安装依赖git clone https://gitcode.com/GitHub_Trending/me/MediaCrawler cd MediaCrawler uv syncuv sync按锁定文件一次装齐全部依赖。默认 CDP 模式直接连你本机 Chrome无需再装 Playwright 浏览器驱动只有切到标准 Playwright 模式才需要执行uv run playwright install。第 3 步开启 Chrome 远程调试CDP 模式让程序接管你日常在用的浏览器直接复用它的 Cookie、扩展与浏览历史平台很难把请求和普通用户区分开。开启步骤Chrome 地址栏输入chrome://inspect/#remote-debugging勾选 Allow remote debugging for this browser instance页面出现Server running at: 127.0.0.1:9222即就绪更多细节见 CDP模式使用指南。第 4 步最小配置base_config.py 只需看 4 项打开config/base_config.py与首个任务相关的只有这几行PLATFORM xhs # 目标平台xhs|dy|ks|bili|wb|tieba|zhihu KEYWORDS 编程副业,编程兼职 # 搜索关键词多个用英文逗号分隔 CRAWLER_TYPE search # 模式search 搜索 | detail 指定帖子 | creator 创作者主页 SAVE_DATA_OPTION jsonl # 输出格式json|jsonl|csv|excel|sqlite|postgresENABLE_CDP_MODE与CDP_CONNECT_EXISTING默认都是True保持不动即可连接上一步打开调试的 Chrome。第 5 步首次运行与扫码登录uv run main.py --platform xhs --lt qrcode --type search程序启动后浏览器中会弹确认对话框点接受60 秒内操作。随后扫码登录登录态默认缓存到本地浏览器数据目录下次运行免扫码。任务结束后到data/目录查看生成的结果文件。核心能力拆解5 个最常用的开关三种爬取模式search、detail、creator 一条配置切换模式CRAWLER_TYPE填写位置产出关键词搜索searchbase_config.py 的KEYWORDS搜索结果列表及评论指定帖子detail各平台配置文件中的 URL/ID 列表指定帖子的完整字段与评论创作者主页creator各平台配置文件中的主页列表该创作者发布的全部内容以小红书为例指定帖子填在config/xhs_config.py的XHS_SPECIFIED_NOTE_URL_LIST链接必须携带xsec_token参数——从浏览器地址栏完整复制 URL 即可。评论与词云采集把评论区变成素材评论开关集中在config/base_config.py默认行为ENABLE_GET_COMMENTS True抓一级评论单条内容上限CRAWLER_MAX_COMMENTS_COUNT_SINGLENOTES默认 10 条二级评论ENABLE_GET_SUB_COMMENTS默认关闭词云图ENABLE_GET_WORDCLOUD默认关闭开启后评论抓完自动生成图停用词一词一行维护在docs/hit_stopwords.txt自定义词组可在CUSTOM_WORDS中整词保留完整用法见 词云图使用配置多格式存储json、Excel、数据库一键换出口格式SAVE_DATA_OPTION适合场景json / jsonljson/jsonl默认后续用 Python 批量处理csv / excelcsv/excel运营同事直接打开看Excel 带多工作表与格式sqlite / postgressqlite/postgres入库天然去重长期反复采集同一批对象用数据库时先初始化建表避免表不存在报错uv run main.py --init_db sqlite。各格式的详细差异见 数据存储指南。代理 IP 池大规模采集时避开单 IP 风控单个 IP 高频请求很容易触发平台风控。项目在proxy/目录内置代理池启动时从服务商拉取一批 IP逐个验证可用性后随机轮换失效或过期自动补新。默认行为ENABLE_IP_PROXY False关闭开关在哪ENABLE_IP_PROXY、IP_PROXY_PROVIDER_NAMEkuaidaili/wandouhttp/static静态代理地址填STATIC_PROXY_URL服务商的用户名、密码或 API 密钥通过环境变量传入具体位置见 代理使用以快代理为例先在其后台开通免费试用按需求选产品类型对 IP 质量要求高可选隧道代理WebUI 可视化界面不开终端也能跑爬虫想跳过命令行可以起一套 Web 界面可视化配置参数、实时看日志、预览和导出数据。uv run uvicorn api.main:app --port 8080 --reload # 终端1启动后端 API cd webui npm install npm run dev # 终端2启动前端访问 5173 端口实战任务3 个可直接照做的采集示范场景一小红书竞品声量摸底关键词搜索加词云输入竞品品牌名与品类词如某某面霜,修护精华操作PLATFORM xhs、CRAWLER_TYPE search、KEYWORDS填入关键词、CRAWLER_MAX_NOTES_COUNT调到 50、ENABLE_GET_WORDCLOUD设为True运行uv run main.py --platform xhs --lt qrcode --type search产出jsonl 文件含笔记标题、点赞/收藏/评论数、发布时间、正文评论区词云图直接呈现用户关注的卖点与槽点场景二B站竞品账号更新节奏监控创作者主页采集输入竞品账号的 B站主页 URL 或 UID操作PLATFORM bili、CRAWLER_TYPE creator主页链接填入config/bilibili_config.py的BILI_CREATOR_ID_LIST产出该账号的视频列表标题、播放量、发布时间周期性运行即可对比更新频率与内容方向变化场景三知乎行业问题舆情收集指定帖子加评论输入行业问题的回答链接或文章链接操作PLATFORM zhihu、CRAWLER_TYPE detail链接填入config/zhihu_config.py的ZHIHU_SPECIFIED_ID_LISTCRAWLER_MAX_COMMENTS_COUNT_SINGLENOTES调大产出回答完整字段与评论切换SAVE_DATA_OPTION sqlite入库后可按发布时间做话题热度排序排错清单4 个高频问题这样处理小红书扫码后反复弹滑块、登录卡住确认ENABLE_CDP_MODE与CDP_CONNECT_EXISTING均为True避免退回到全新浏览器环境确认HEADLESS False重启后在弹出的浏览器里手动过一次滑块仍失败则删掉本地生成的浏览器数据目录如xhs_user_data_dir重新走一遍登录流程抖音、知乎报 execjs 或 JS 执行错误node -v检查 Node.js 是否安装、版本是否 16 及以上未安装则装好对应系统版本重启终端后再运行项目前期正常、跑一段时间后突然抓不到数据先按账号触发风控处理CRAWLER_MAX_SLEEP_SEC默认 2 秒调到 3~5 秒CRAWLER_MAX_NOTES_COUNT调小必要时开启代理池分散请求 IP更换账号重新登录避开短期频繁操作过的高风险账号报 TimeoutError 或连不上 9222 端口chrome://version确认 Chrome 已打开且版本 144 以上回到chrome://inspect/#remote-debugging确认远程调试已勾选确认页面显示Server running at: 127.0.0.1:9222浏览器若弹确认对话框60 秒内点接受进阶建议让采集更稳的 7 个做法CRAWLER_MAX_SLEEP_SEC大批量任务加到 3~5 秒用速度换账号安全MAX_CONCURRENCY_NUM保持 1 起步稳定后再逐步上调盲目并发是触发风控的常见原因SAVE_LOGIN_STATE保持True登录一次长期免扫码换账号时清掉浏览器数据目录即可存储按目的选一次性分析用 json/csv长期对象用 sqlite/postgres 去重非技术同事看 excelENABLE_GET_MEDIA保持False只取元数据省带宽省磁盘需要素材时再加--get_media true文件按data/{平台}/media/{内容ID}/聚合调试阶段把AUTO_CLOSE_BROWSER设为False浏览器留着方便查现场跑uv run main.py --help查看各平台命令行参数不必每次翻配置文件现在就动手打开终端执行uv run main.py --platform xhs --lt qrcode --type search扫码通过后去data/目录确认第一个结果文件生成。链路跑通后挑一个上面的场景换成你自己的关键词与账号链接就能拿到首批数据。【免费下载链接】MediaCrawler小红书笔记 | 评论爬虫、抖音视频 | 评论爬虫、快手视频 | 评论爬虫、B 站视频 评论爬虫、微博帖子 评论爬虫、百度贴吧帖子 百度贴吧评论回复爬虫 | 知乎问答文章评论爬虫项目地址: https://gitcode.com/GitHub_Trending/me/MediaCrawler创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表