ARTICLE DETAIL

资讯详情

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

MediaCrawler 多平台采集完整指南:7个平台数据跑通的3种姿势

MediaCrawler 多平台采集完整指南:7个平台数据跑通的3种姿势 MediaCrawler 多平台采集完整指南7个平台数据跑通的3种姿势【免费下载链接】MediaCrawler小红书笔记 | 评论爬虫、抖音视频 | 评论爬虫、快手视频 | 评论爬虫、B 站视频 评论爬虫、微博帖子 评论爬虫、百度贴吧帖子 百度贴吧评论回复爬虫 | 知乎问答文章评论爬虫项目地址: https://gitcode.com/GitHub_Trending/me/MediaCrawler想每周盯住10个竞品的抖音发布数据手动复制粘贴已经扛不住了或者想把一批小红书笔记连同评论区批量落到 Excel 里分析。这类活儿适合交给 MediaCrawler 多平台采集。 MediaCrawler 是什么7个平台一个入口MediaCrawler 是一个基于 Playwright 的 Python 异步多平台自媒体采集框架用真实浏览器登录拿签名覆盖小红书、抖音、快手、B站、微博、贴吧、知乎共 7 个平台。核心能力速览覆盖 7 个平台的内容与评论搜索、详情、创作者三种模式登录态缓存免重复扫码jsonl、Excel、SQLite 等多种存储代理 IP 池3 种接入方式二级评论与评论词云WebUI 实时日志与数据预览不用逆向 JS签名由浏览器现场计算 三种采集模式怎么选config/base_config.py里的CRAWLER_TYPE只有三个取值search、detail、creator分别对应按关键词找内容按帖子 ID 取内容盯住某个创作者主页。日常用得最多的就是这一处配置其余参数都是围着它转的。模式输入典型用途searchKEYWORDS关键词话题调研、舆情抓取detail帖子 ID 列表定向批量采集已知内容creator创作者主页 URL博主发布动态跟踪要采的具体对象写在各平台配置文件里比如 B站的BILI_CREATOR_ID_LIST见 config/bilibili_config.pyKEYWORDS多个关键词用英文逗号分隔。对做小红书数据抓取的人来说search 模式加上默认开启的评论采集是最常用的组合。⚙️ 签名怎么来的不手写逆向 JS小红书接口请求要带x-s、x-t这类签名参数逆向算法是大多数同类工具的死穴。MediaCrawler 的做法是先用真实浏览器扫码登录并保存登录态之后在浏览器上下文里执行 JS 表达式把签名算出来再拼进 API 请求。也就是说它把逆向算法替换成了让浏览器自己算。抖音、知乎因为签名逻辑在 Node 侧项目额外调了libs/下的 JS 脚本生成参数思路一致。小红书的签名与追踪 ID 生成在 xhs_sign.py浏览器端取签名的调用封装在 playwright_sign.py。七个平台的 client、core、login 三类角色统一由 base_crawler.py 里的抽象基类约束读这一个文件就能看懂各平台代码的分工。 代理 IP 池怎么配才稳单 IP 长时间请求很快触发风控这是同类项目最常见的翻车点。项目用一个ProxyIpPool类解决启动时按配置批量从代理商 API 拉 IP逐个探测可用性后入池用完自动补充。三个配置项控制整套机制都写在config/base_config.pyENABLE_IP_PROXY True IP_PROXY_POOL_COUNT 2 IP_PROXY_PROVIDER_NAME kuaidaili # kuaidaili | wandouhttp | static池子的拉取与校验逻辑在 proxy_ip_pool.py各代理商适配模块在 proxy/providers/。如果手头只有固定的独享代理选static把地址填进STATIC_PROXY_URL即可不需要任何 API。上图是代理商后台提取 IP 链接的界面key和num参数对应到项目里的提供方配置改完就能用。 四步跑通第一条数据前提是装好 uv采抖音、知乎的话再装 Node.js≥16因为签名要用。拉取代码git clone https://gitcode.com/GitHub_Trending/me/MediaCrawler cd MediaCrawler这步把项目拿到本地。uv sync按锁文件安装 Python 依赖保证版本一致。打开 config/base_config.py把KEYWORDS改成你关心的词CRAWLER_TYPE保持默认search。 这一步决定采什么。uv run main.py --platform xhs --lt qrcode --type search弹出浏览器用 App 扫码登录脚本自动开始采集。跑完到data/目录确认生成了笔记与评论文件链路就算通了。存储格式怎么选参考 data_storage_guide.md格式适合场景jsonl默认大批量连续采集追加写性能好Excel快速出报告内容/评论分工作表SQLite需要去重和二次查询csv / json直接交给下游程序 一个完整案例B站UP主视频入库 SQLite任务采一个指定 UP 主近期的视频列表和评论存进本地 SQLite方便后续查近 30 天这类条件。MediaCrawler 多平台采集的端到端闭环就是下面五步。config/base_config.py里把PLATFORM改成biliSAVE_DATA_OPTION改成sqlite。 这步告诉程序用哪个平台、结果写哪里。config/bilibili_config.py的BILI_CREATOR_ID_LIST填入 UP 主空间主页 URL 或 UID并用CRAWLER_MAX_NOTES_COUNT控制视频条数。初始化库表uv run main.py --init_db sqlite提前建好内容、评论等表结构。启动采集uv run main.py --platform bili --lt qrcode --type creator扫码后程序翻页拉取视频与评论逐条写入数据库。产物检查到data/目录找到.db文件用任意 SQLite 客户端打开核对内容表和评论表的条数与发布时间字段。表结构统一定义在 models.py每个平台各有一套内容表和评论表。 进阶扩展点自定义存储与换代理商自定义存储管道。每个平台目录里都有一个 StoreFactory把SAVE_DATA_OPTION映射到具体存储类store/bilibili/init.py 里能看到 jsonl、csv、sqlite、excel 各自的注册方式。想推消息队列或数据仓库照着写一个新存储类注册进去就行。代理提供方调优。内置 kuaidaili、wandouhttp、static 三种提供方换其他代理商就在proxy/providers/下新增一个适配模块。代理商后台的 API 密钥页长这样独享代理的账号密码鉴权同样在后台代理鉴权一栏提取还有一个方向不碰命令行启动uv run uvicorn api.main:app --port 8080再构建 webui/ 下的前端就能在浏览器里配参数、看实时日志。⚠️ 新手避坑清单扫码后登录一直失败 → 无头模式下过不了滑块验证 → 设HEADLESS False手动过滑块或启用默认的 CDP 模式连接本机 Chrome。关键词搜不到内容 →KEYWORDS里写了中文逗号 → 改用英文逗号分隔多个词。开了ENABLE_IP_PROXY但代理没生效 → 提供方 API 参数没配或后台没加 IP 白名单 → 核对IP_PROXY_PROVIDER_NAME对应参数static 则检查STATIC_PROXY_URL。CDP 模式报 9222 端口占用 → 已有另一个开了远程调试的 Chrome 实例 → 换CDP_DEBUG_PORT。标准 Playwright 模式起不来浏览器 → 没装浏览器内核 → 执行uv run playwright install默认 CDP 模式直接用系统 Chrome可跳过。请求失败时程序会按退避策略自动重试逻辑在 crawler_util.py如果错误持续出现优先检查登录态是否过期。适合需要快速搭多平台数据管道的人以及做多平台爬虫框架选型评估的团队。先看 README.md再按本文引用路径读存储和代理的源码。【免费下载链接】MediaCrawler小红书笔记 | 评论爬虫、抖音视频 | 评论爬虫、快手视频 | 评论爬虫、B 站视频 评论爬虫、微博帖子 评论爬虫、百度贴吧帖子 百度贴吧评论回复爬虫 | 知乎问答文章评论爬虫项目地址: https://gitcode.com/GitHub_Trending/me/MediaCrawler创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表