尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

MediaCrawler 快速上手指南:5 步完成第一次社交媒体数据采集

MediaCrawler 快速上手指南:5 步完成第一次社交媒体数据采集 MediaCrawler 快速上手指南5 步完成第一次社交媒体数据采集【免费下载链接】MediaCrawler小红书笔记 | 评论爬虫、抖音视频 | 评论爬虫、快手视频 | 评论爬虫、B 站视频 评论爬虫、微博帖子 评论爬虫、百度贴吧帖子 百度贴吧评论回复爬虫 | 知乎问答文章评论爬虫项目地址: https://gitcode.com/GitHub_Trending/me/MediaCrawler手动翻小红书、抖音整理笔记和评论太慢速度一快又会被平台反爬拦截。MediaCrawler 是一个免费开源的社交媒体数据采集工具你只需登录一次账号它就能自动完成关键词搜索、帖子抓取和评论采集并把结果存成文件或直接写入数据库。本文带你走完环境准备、首次爬取、数据导出、代理配置和常见报错排查从装环境到拿到第一批数据一共 5 步。它基于 Playwright一个浏览器自动化框架控制真实浏览器发请求不需要你去逆向各平台的加密签名登录态还能缓存复用。覆盖小红书、抖音、快手、B 站、微博、贴吧、知乎 7 个平台的公开内容。适合需要定期收集公开笔记、视频、评论做内容分析或竞品监控的运营、数据和开发人员。按项目许可要求本工具仅限学习研究使用不要用于商业用途或大规模爬取。一、装好运行 MediaCrawler 所需的依赖1. 克隆仓库并安装 uv先装好 Python 包管理工具 uv官方有 Windows/macOS/Linux 三种安装方式验证安装uv --version然后克隆仓库并安装全部依赖git clone https://gitcode.com/GitHub_Trending/me/MediaCrawler cd MediaCrawler uv syncuv sync会按项目的 pyproject.toml 锁定 Python 版本和依赖版本比手动pip install -r requirements.txt更不容易装出兼容性问题。爬抖音、知乎还需要 Node.js 16 及以上去 Node.js 官网下载安装即可缺失时爬取会报 execjs 错误后文会讲。2. 给 Chrome 开启远程调试CDP 模式项目默认使用 CDPChrome DevTools Protocol即通过调试协议远程控制浏览器模式连接你正在用的 Chrome复用你浏览器里真实的登录状态、Cookie 和浏览历史被平台风控识别的概率最低。使用前需要确认 Chrome 版本 144地址栏输入chrome://version查看地址栏输入chrome://inspect/#remote-debugging勾选 Allow remote debugging for this browser instance页面显示Server running at: 127.0.0.1:9222即就绪不想连已有浏览器的话把 config/base_config.py 里的CDP_CONNECT_EXISTING设为False程序会自动启动一个干净的浏览器实例再不想用 CDP就把ENABLE_CDP_MODE设为False切回标准 Playwright 模式此时需要额外执行uv run playwright install安装浏览器驱动。二、跑通第一次爬取任务3. 改好关键词和平台再运行爬取参数集中在两个地方通用开关在 config/base_config.py各平台专属参数在 config/xhs_config.py 等文件里。第一次运行建议只改KEYWORDS多个关键词用英文逗号分隔其余保持默认即可几个常用默认值先记下来CRAWLER_MAX_NOTES_COUNT 15单次最多爬 15 条帖子ENABLE_GET_COMMENTS True默认开启一级评论抓取每条帖子最多 10 条CRAWLER_MAX_SLEEP_SEC 2请求间隔 2 秒量大的话可以调高到 3-5 秒降低风控概率确认配置后运行uv run main.py --platform xhs --lt qrcode --type search参数含义--platform选平台xhs 小红书 | dy 抖音 | ks 快手 | bili B站 | wb 微博 | tieba 贴吧 | zhihu 知乎--lt选登录方式qrcode 扫码 | phone 手机 | cookie--type选任务类型search 关键词搜索 | detail 指定帖子 | creator 创作者主页。首次运行会弹出二维码用对应 APP 扫码登录登录态会缓存到浏览器目录下次不用再扫。4. 在 WebUI 界面里可视化操作不喜欢命令行的话项目自带一套 Web 界面webui/可以可视化配置平台、登录方式、爬取类型实时看运行日志和数据预览uv run uvicorn api.main:app --port 8080 --reloadcd webui npm install npm run dev然后访问http://localhost:5173/即可。三、把采集到的数据存成表格或数据库数据默认以 JSONL 格式每行一个 JSON 对象追加写入性能好保存到data/目录。想要别的格式不用改配置文件直接在命令里加--save_data_option覆盖即可。5. 导出 Excel 表格和写入数据库给运营同学看数据时Excel 最省事。导出后的文件在data/{平台名}/下按内容、评论、创作者分成三个工作表带格式化的表头uv run main.py --platform xhs --lt qrcode --type search --save_data_option excel数据量上来后超过约 1 万行建议入库数据库自带去重功能重复跑任务不会存重复记录。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初始化MySQL 需先手动建好数据库详细字段说明见 docs/data_storage_guide.md 和 docs/excel_export_guide.md。另外把ENABLE_GET_WORDCLOUD设为True每次爬完评论还会自动生成一张评论词云图。四、配置代理 IP降低触发平台风控的概率为什么需要代理池账号触发风控后爬虫会突然失效这时除了降频率更稳妥的做法是换出口 IP。项目内置代理池proxy/启动时先按配置从代理服务商拉取一批 IP 存入缓存再从池子里轮换取用取不到就重新拉取。MediaCrawler 数据采集代理 IP 池拉取与轮换流程图以快代理为例配置密钥在 config/base_config.py 中把ENABLE_IP_PROXY设为TrueIP_PROXY_PROVIDER_NAME保持kuaidaili也支持wandouhttp和static固定代理。快代理的 4 个凭证从服务商后台订单页获取通过环境变量传入不用写死在代码里kdl_user_name/kdl_user_pwd基本信息页代理鉴权一栏的用户名和密码kdl_secret_id/kdl_signatureAPI 密钥页的 SecretId 和 SecretKey如果你手上只有固定代理地址选static最简单把STATIC_PROXY_URL填成http://user:passwordhost:port格式即可完整步骤见 docs/快代理使用文档.md。五、采集失败时按这 4 个常见报错排查小红书扫码后一直弹滑块验证不过小红书风控最严。第一选择是保持默认的 CDP 模式连真实浏览器不要换无痕或标准 Playwright 模式仍不行的话删掉项目目录下的浏览器数据目录brower_data/重新走一遍扫码流程。如果用的是标准模式把HEADLESS设为False让浏览器可见手动拖过滑块。报错 Cannot connect to existing browser on port 9222按顺序检查三点Chrome 是否在运行chrome://inspect/#remote-debugging页面是否显示了Server running at: 127.0.0.1:9222Chrome 版本是否 144。运行爬虫时 Chrome 弹出的连接确认框点接受即可程序会等待 60 秒。更多细节见 docs/CDP模式使用指南.md。抖音、知乎报 execjs 缺少分号或 ProgramError这是缺 Node.js 环境装 Node 16 后重跑即可。另外 Cookie 方式登录抖音报Cannot read property JS_MD5_NO_COMMON_JS of null也是同一类环境问题优先补 Node 而不是改 Cookie。刚开始能爬过段时间突然失效基本是账号触发了平台风控降一下CRAWLER_MAX_NOTES_COUNT比如从 15 降到 10、把CRAWLER_MAX_SLEEP_SEC调到 3-5 秒、挂上代理池。想换账号登录删除brower_data/目录重新扫码即可。六、卡住时去哪里查项目资源入口按项目许可要求MediaCrawler 只用于学习和技术研究请控制频率、遵守目标平台条款不要大规模采集。遇到本文没覆盖的问题先查下面这些入口比直接翻源码快config/base_config.py所有功能开关的中文注释说明docs/常见问题.md登录、数据库、词云等高频问题docs/CDP模式使用指南.mdCDP 两种模式的配置细节docs/data_storage_guide.md7 种存储格式的用法docs/手机号登录说明.md手机验证码登录的短信转发方案proxy/代理池与各服务商实现源码media_platform/7 个平台的采集实现可对照源码学习各平台接口差异store/各平台数据落盘逻辑【免费下载链接】MediaCrawler小红书笔记 | 评论爬虫、抖音视频 | 评论爬虫、快手视频 | 评论爬虫、B 站视频 评论爬虫、微博帖子 评论爬虫、百度贴吧帖子 百度贴吧评论回复爬虫 | 知乎问答文章评论爬虫项目地址: https://gitcode.com/GitHub_Trending/me/MediaCrawler创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表