NanmiCoder/MediaCrawlerPublic

小红书笔记 | 评论爬虫、抖音视频 | 评论爬虫、快手视频 | 评论爬虫、B 站视频 | 评论爬虫、微博帖子 | 评论爬虫、百度贴吧帖子 | 百度贴吧评论回复爬虫 | 知乎问答文章|评论爬虫

AI summary: A comprehensive crawler for extracting posts and comments from major Chinese social media platforms.

Stars
60.2K
+229 today
Forks
11.8K
Watchers
239
Open issues
157
Open PRs
26
Contributors
~81
Commits
792
Branches
11

PythonOtherCreated Jun 9, 2023Last push 2d ago+652 stars this week+1.3K this month

Star history

since Jun 4, 2023
020K40K60KJun 2023Jun 2024Jul 2025Aug 2026
60.2K stars as of Aug 7, 2026, tracked back to Jun 4, 2023. Historical curve reconstructed from public GitHub event archives, calibrated to the current total.

Contribution activity

commits per day, last 52 weeks
AugSepOctNovDecJanFebMarAprMayJunJulMonWedFri2025-08-03: 0 commits2025-08-04: 0 commits2025-08-05: 1 commit2025-08-06: 1 commit2025-08-07: 0 commits2025-08-08: 0 commits2025-08-09: 0 commits2025-08-10: 0 commits2025-08-11: 0 commits2025-08-12: 1 commit2025-08-13: 0 commits2025-08-14: 1 commit2025-08-15: 0 commits2025-08-16: 1 commit2025-08-17: 0 commits2025-08-18: 0 commits2025-08-19: 0 commits2025-08-20: 0 commits2025-08-21: 0 commits2025-08-22: 0 commits2025-08-23: 0 commits2025-08-24: 0 commits2025-08-25: 0 commits2025-08-26: 0 commits2025-08-27: 0 commits2025-08-28: 0 commits2025-08-29: 0 commits2025-08-30: 0 commits2025-08-31: 0 commits2025-09-01: 0 commits2025-09-02: 3 commits2025-09-03: 0 commits2025-09-04: 0 commits2025-09-05: 1 commit2025-09-06: 4 commits2025-09-07: 1 commit2025-09-08: 5 commits2025-09-09: 1 commit2025-09-10: 1 commit2025-09-11: 1 commit2025-09-12: 0 commits2025-09-13: 0 commits2025-09-14: 0 commits2025-09-15: 0 commits2025-09-16: 0 commits2025-09-17: 0 commits2025-09-18: 0 commits2025-09-19: 0 commits2025-09-20: 0 commits2025-09-21: 0 commits2025-09-22: 0 commits2025-09-23: 1 commit2025-09-24: 1 commit2025-09-25: 0 commits2025-09-26: 6 commits2025-09-27: 0 commits2025-09-28: 0 commits2025-09-29: 0 commits2025-09-30: 0 commits2025-10-01: 0 commits2025-10-02: 1 commit2025-10-03: 0 commits2025-10-04: 0 commits2025-10-05: 0 commits2025-10-06: 0 commits2025-10-07: 0 commits2025-10-08: 0 commits2025-10-09: 0 commits2025-10-10: 0 commits2025-10-11: 1 commit2025-10-12: 1 commit2025-10-13: 0 commits2025-10-14: 0 commits2025-10-15: 0 commits2025-10-16: 2 commits2025-10-17: 1 commit2025-10-18: 4 commits2025-10-19: 2 commits2025-10-20: 0 commits2025-10-21: 0 commits2025-10-22: 0 commits2025-10-23: 0 commits2025-10-24: 0 commits2025-10-25: 0 commits2025-10-26: 0 commits2025-10-27: 1 commit2025-10-28: 0 commits2025-10-29: 0 commits2025-10-30: 0 commits2025-10-31: 0 commits2025-11-01: 0 commits2025-11-02: 1 commit2025-11-03: 0 commits2025-11-04: 1 commit2025-11-05: 0 commits2025-11-06: 3 commits2025-11-07: 2 commits2025-11-08: 0 commits2025-11-09: 0 commits2025-11-10: 3 commits2025-11-11: 0 commits2025-11-12: 0 commits2025-11-13: 0 commits2025-11-14: 0 commits2025-11-15: 0 commits2025-11-16: 0 commits2025-11-17: 4 commits2025-11-18: 2 commits2025-11-19: 0 commits2025-11-20: 0 commits2025-11-21: 0 commits2025-11-22: 2 commits2025-11-23: 0 commits2025-11-24: 0 commits2025-11-25: 1 commit2025-11-26: 1 commit2025-11-27: 1 commit2025-11-28: 7 commits2025-11-29: 0 commits2025-11-30: 0 commits2025-12-01: 0 commits2025-12-02: 0 commits2025-12-03: 1 commit2025-12-04: 0 commits2025-12-05: 0 commits2025-12-06: 0 commits2025-12-07: 0 commits2025-12-08: 0 commits2025-12-09: 1 commit2025-12-10: 0 commits2025-12-11: 0 commits2025-12-12: 0 commits2025-12-13: 0 commits2025-12-14: 0 commits2025-12-15: 1 commit2025-12-16: 2 commits2025-12-17: 2 commits2025-12-18: 4 commits2025-12-19: 3 commits2025-12-20: 0 commits2025-12-21: 0 commits2025-12-22: 1 commit2025-12-23: 0 commits2025-12-24: 1 commit2025-12-25: 0 commits2025-12-26: 4 commits2025-12-27: 0 commits2025-12-28: 0 commits2025-12-29: 0 commits2025-12-30: 1 commit2025-12-31: 0 commits2026-01-01: 0 commits2026-01-02: 0 commits2026-01-03: 1 commit2026-01-04: 1 commit2026-01-05: 1 commit2026-01-06: 3 commits2026-01-07: 0 commits2026-01-08: 0 commits2026-01-09: 2 commits2026-01-10: 0 commits2026-01-11: 0 commits2026-01-12: 1 commit2026-01-13: 0 commits2026-01-14: 0 commits2026-01-15: 0 commits2026-01-16: 0 commits2026-01-17: 0 commits2026-01-18: 1 commit2026-01-19: 1 commit2026-01-20: 0 commits2026-01-21: 3 commits2026-01-22: 0 commits2026-01-23: 0 commits2026-01-24: 0 commits2026-01-25: 0 commits2026-01-26: 0 commits2026-01-27: 0 commits2026-01-28: 0 commits2026-01-29: 0 commits2026-01-30: 1 commit2026-01-31: 0 commits2026-02-01: 0 commits2026-02-02: 1 commit2026-02-03: 5 commits2026-02-04: 1 commit2026-02-05: 0 commits2026-02-06: 2 commits2026-02-07: 0 commits2026-02-08: 0 commits2026-02-09: 0 commits2026-02-10: 2 commits2026-02-11: 0 commits2026-02-12: 1 commit2026-02-13: 2 commits2026-02-14: 0 commits2026-02-15: 0 commits2026-02-16: 0 commits2026-02-17: 0 commits2026-02-18: 0 commits2026-02-19: 0 commits2026-02-20: 0 commits2026-02-21: 0 commits2026-02-22: 0 commits2026-02-23: 0 commits2026-02-24: 0 commits2026-02-25: 0 commits2026-02-26: 0 commits2026-02-27: 0 commits2026-02-28: 2 commits2026-03-01: 0 commits2026-03-02: 0 commits2026-03-03: 1 commit2026-03-04: 0 commits2026-03-05: 0 commits2026-03-06: 0 commits2026-03-07: 0 commits2026-03-08: 0 commits2026-03-09: 0 commits2026-03-10: 2 commits2026-03-11: 0 commits2026-03-12: 0 commits2026-03-13: 0 commits2026-03-14: 0 commits2026-03-15: 0 commits2026-03-16: 0 commits2026-03-17: 1 commit2026-03-18: 4 commits2026-03-19: 0 commits2026-03-20: 0 commits2026-03-21: 0 commits2026-03-22: 0 commits2026-03-23: 0 commits2026-03-24: 1 commit2026-03-25: 0 commits2026-03-26: 0 commits2026-03-27: 0 commits2026-03-28: 0 commits2026-03-29: 0 commits2026-03-30: 0 commits2026-03-31: 0 commits2026-04-01: 0 commits2026-04-02: 0 commits2026-04-03: 1 commit2026-04-04: 0 commits2026-04-05: 0 commits2026-04-06: 0 commits2026-04-07: 2 commits2026-04-08: 1 commit2026-04-09: 0 commits2026-04-10: 0 commits2026-04-11: 0 commits2026-04-12: 0 commits2026-04-13: 0 commits2026-04-14: 0 commits2026-04-15: 1 commit2026-04-16: 1 commit2026-04-17: 0 commits2026-04-18: 0 commits2026-04-19: 0 commits2026-04-20: 0 commits2026-04-21: 1 commit2026-04-22: 0 commits2026-04-23: 0 commits2026-04-24: 0 commits2026-04-25: 1 commit2026-04-26: 0 commits2026-04-27: 0 commits2026-04-28: 0 commits2026-04-29: 0 commits2026-04-30: 1 commit2026-05-01: 0 commits2026-05-02: 0 commits2026-05-03: 0 commits2026-05-04: 0 commits2026-05-05: 0 commits2026-05-06: 0 commits2026-05-07: 0 commits2026-05-08: 0 commits2026-05-09: 0 commits2026-05-10: 0 commits2026-05-11: 0 commits2026-05-12: 0 commits2026-05-13: 0 commits2026-05-14: 0 commits2026-05-15: 0 commits2026-05-16: 0 commits2026-05-17: 0 commits2026-05-18: 0 commits2026-05-19: 3 commits2026-05-20: 3 commits2026-05-21: 1 commit2026-05-22: 0 commits2026-05-23: 0 commits2026-05-24: 0 commits2026-05-25: 1 commit2026-05-26: 0 commits2026-05-27: 0 commits2026-05-28: 0 commits2026-05-29: 1 commit2026-05-30: 0 commits2026-05-31: 1 commit2026-06-01: 0 commits2026-06-02: 0 commits2026-06-03: 0 commits2026-06-04: 0 commits2026-06-05: 0 commits2026-06-06: 0 commits2026-06-07: 0 commits2026-06-08: 0 commits2026-06-09: 0 commits2026-06-10: 0 commits2026-06-11: 0 commits2026-06-12: 1 commit2026-06-13: 0 commits2026-06-14: 0 commits2026-06-15: 1 commit2026-06-16: 0 commits2026-06-17: 0 commits2026-06-18: 1 commit2026-06-19: 0 commits2026-06-20: 0 commits2026-06-21: 0 commits2026-06-22: 0 commits2026-06-23: 0 commits2026-06-24: 0 commits2026-06-25: 0 commits2026-06-26: 1 commit2026-06-27: 0 commits2026-06-28: 0 commits2026-06-29: 0 commits2026-06-30: 0 commits2026-07-01: 8 commits2026-07-02: 0 commits2026-07-03: 0 commits2026-07-04: 0 commits2026-07-05: 0 commits2026-07-06: 0 commits2026-07-07: 0 commits2026-07-08: 0 commits2026-07-09: 0 commits2026-07-10: 0 commits2026-07-11: 0 commits2026-07-12: 0 commits2026-07-13: 0 commits2026-07-14: 0 commits2026-07-15: 0 commits2026-07-16: 1 commit2026-07-17: 0 commits2026-07-18: 0 commits2026-07-19: 0 commits2026-07-20: 0 commits2026-07-21: 0 commits2026-07-22: 0 commits2026-07-23: 0 commits2026-07-24: 0 commits2026-07-25: 2 commits2026-07-26: 0 commits2026-07-27: 0 commits2026-07-28: 0 commits2026-07-29: 0 commits2026-07-30: 0 commits2026-07-31: 0 commits2026-08-01: 0 commits
166 commits in the last yearLessMore

Signals and awards

derived from tracked data
  • Landmark project

    60,171 stars

  • Continuous integration

    Automated checks passing

  • Repeat trending

    3 trending appearances

What MediaCrawler does

MediaCrawler automates the extraction of data from various Chinese social platforms, including Xiaohongshu, Douyin, Kuaishou, Bilibili, Weibo, and Zhihu. It can scrape posts, videos, articles, and associated user comments across these diverse networks. By providing a unified set of tools, it handles the complex parsing and navigation required for each specific platform. The project is designed to help users bypass basic restrictions and gather large datasets for analysis or archival purposes. It outputs the scraped information into structured formats, facilitating downstream data processing.

This tool is designed for data analysts, marketers, and NLP researchers who need to aggregate unstructured text and media from Chinese social networks. It requires some technical familiarity to deploy and configure the scraping scripts.

  • Multi-platform support: Extracts data seamlessly from Xiaohongshu, Douyin, Bilibili, Weibo, and more.
  • Comprehensive extraction: Capable of scraping main posts, articles, videos, and their nested comments.
  • Unified toolset: Provides a consistent interface for interacting with technically diverse social media sites.
  • Structured data output: Saves the extracted content and metadata into easily processable formats.
  • Active maintenance: Continually updated to handle changes in platform layouts and scraping defenses.

Where teams use it

Market research

Analysts can track consumer sentiment and trending topics across multiple Chinese social platforms.

Dataset creation

Machine learning researchers can build large-scale natural language datasets from diverse social media comments.

Content aggregation

Marketers can collect competitor posts and engagement metrics for comparative analysis.

Public sentiment monitoring

Researchers can scrape specific keywords to track public opinion on Zhihu or Weibo.

Getting started: git clone https://github.com/NanmiCoder/MediaCrawler.git

README

main branch

🔥 MediaCrawler - 自媒体平台爬虫 🕷️


免责声明:

大家请以学习为目的使用本仓库⚠️⚠️⚠️⚠️爬虫违法违规的案件

本仓库的所有内容仅供学习和参考之用,禁止用于商业用途。任何人或组织不得将本仓库的内容用于非法用途或侵犯他人合法权益。本仓库所涉及的爬虫技术仅用于学习和研究,不得用于对其他平台进行大规模爬虫或其他非法行为。对于因使用本仓库内容而引起的任何法律责任,本仓库不承担任何责任。使用本仓库的内容即表示您同意本免责声明的所有条款和条件。

点击查看更为详细的免责声明。点击跳转

📖 项目简介

一个功能强大的多平台自媒体数据采集工具,支持小红书、抖音、快手、B站、微博、贴吧、知乎等主流平台的公开信息抓取。

🔧 技术原理

  • 核心技术:基于 Playwright 浏览器自动化框架登录保存登录态
  • 无需JS逆向:利用保留登录态的浏览器上下文环境,通过 JS 表达式获取签名参数
  • 优势特点:无需逆向复杂的加密算法,大幅降低技术门槛

✨ 功能特性

平台 关键词搜索 指定帖子ID爬取 二级评论 指定创作者主页 登录态缓存 IP代理池 生成评论词云图
小红书
抖音
快手
B 站
微博
贴吧
知乎

MediaCrawlerPro 重磅发布!开源不易,欢迎订阅支持

专注于学习成熟项目的架构设计,不仅仅是爬虫技术,Pro 版本的代码设计思路同样值得深入学习!

MediaCrawlerPro 相较于开源版本的核心优势:

🎯 核心功能升级

  • 自媒体内容拆解Agent(新增功能)
  • 断点续爬功能(重点特性)
  • 多账号 + IP代理池支持(重点特性)
  • 去除 Playwright 依赖,使用更简单
  • 完整 Linux 环境支持

🏗️ 架构设计优化

  • 代码重构优化,更易读易维护(解耦 JS 签名逻辑)
  • 企业级代码质量,适合构建大型爬虫项目
  • 完美架构设计,高扩展性,源码学习价值更大

🎁 额外功能

  • 自媒体视频下载器桌面端(适合学习全栈开发)
  • 多平台首页信息流推荐(HomeFeed)
  • AI Agent Skill 支持OpenClaw 🦞 / Claude Code / Cursor 一键安装,让 Agent 自动爬取数据)
  • 基于评论分析AI Agent正在开发中 🚀🚀

点击查看:MediaCrawlerPro 项目主页 更多介绍

🚀 快速开始

💡 如果这个项目对您有帮助,请给个 ⭐ Star 支持一下!

📋 前置依赖

🚀 uv 安装(推荐)

在进行下一步操作之前,请确保电脑上已经安装了 uv:

  • 安装地址uv 官方安装指南
  • 验证安装:终端输入命令 uv --version,如果正常显示版本号,证明已经安装成功
  • 推荐理由:uv 是目前最强的 Python 包管理工具,速度快、依赖解析准确

🟢 Node.js 安装

项目依赖 Node.js,请前往官网下载安装:

📦 Python 包安装

# 进入项目目录
cd MediaCrawler

# 使用 uv sync 命令来保证 python 版本和相关依赖包的一致性
uv sync

🌐 浏览器驱动安装(可选)

如果使用默认的 CDP 模式(连接已有 Chrome 浏览器),无需安装浏览器驱动。仅在使用标准 Playwright 模式时需要安装。

# 仅在标准 Playwright 模式下需要安装浏览器驱动
uv run playwright install

🌍 Chrome 浏览器配置(推荐)

项目默认使用 CDP 模式连接用户已有的 Chrome 浏览器,可以复用浏览器已有的登录状态、Cookie、扩展等,大幅降低平台风控检测风险

使用前需要:

  1. 安装最新版 Chrome 浏览器(版本 >= 144),下载地址
  2. 开启远程调试功能:在 Chrome 地址栏输入 chrome://inspect/#remote-debugging,勾选 "Allow remote debugging for this browser instance"
  3. 页面显示 Server running at: 127.0.0.1:9222 表示已就绪

💡 提示:运行爬虫后,Chrome 浏览器会弹出确认对话框,点击"接受"即可。程序会等待用户确认,60秒内操作完成即可。

如果不想使用 CDP 模式,可以在 config/base_config.py 中设置 ENABLE_CDP_MODE = False 切换为标准 Playwright 模式。

🚀 运行爬虫程序

# 在 config/base_config.py 查看配置项目功能,写的有中文注释

# 从配置文件中读取关键词搜索相关的帖子并爬取帖子信息与评论
uv run main.py --platform xhs --lt qrcode --type search

# 从配置文件中读取指定的帖子ID列表获取指定帖子的信息与评论信息
uv run main.py --platform xhs --lt qrcode --type detail

# 打开对应APP扫二维码登录

# 其他平台爬虫使用示例,执行下面的命令查看
uv run main.py --help
🖥️ WebUI 可视化操作界面

MediaCrawler 提供了基于 Web 的可视化操作界面,无需命令行也能轻松使用爬虫功能。

开发调试(推荐)

开发时需要同时启动后端 API 服务和前端 Vite 开发服务器:

# 终端 1:启动 API 服务器(默认端口 8080)
uv run uvicorn api.main:app --port 8080 --reload

# 终端 2:启动前端开发服务器
cd webui
npm install
npm run dev        # 默认在 5173 端口启动,并代理 /api 到 8080

启动成功后,访问 http://localhost:5173/ 即可打开 WebUI 界面。

首次打开会进行环境检测(调用 /api/env/check),请确保后端服务已启动。如果检测失败,可点击「跳过检测」临时跳过。

构建生产资源

如果希望通过 API 服务器直接提供 WebUI 静态资源,需要先构建前端:

cd webui
npm install
npm run build      # 产物输出到 api/webui/

构建完成后,只需启动 API 服务器:

uv run uvicorn api.main:app --port 8080 --reload

然后访问 http://localhost:8080 即可。

WebUI 功能特性

  • 可视化配置爬虫参数(平台、登录方式、爬取类型等)
  • 实时查看爬虫运行状态和日志
  • 数据预览和导出

界面预览

WebUI 界面预览
🔗 使用 Python 原生 venv 管理环境(不推荐)

创建并激活 Python 虚拟环境

如果是爬取抖音和知乎,需要提前安装 nodejs 环境,版本大于等于:16 即可

# 进入项目根目录
cd MediaCrawler

# 创建虚拟环境
# 我的 python 版本是:3.11 requirements.txt 中的库是基于这个版本的
# 如果是其他 python 版本,可能 requirements.txt 中的库不兼容,需自行解决
python -m venv venv

# macOS & Linux 激活虚拟环境
source venv/bin/activate

# Windows 激活虚拟环境
venv\Scripts\activate

安装依赖库

pip install -r requirements.txt

安装 playwright 浏览器驱动

playwright install

运行爬虫程序(原生环境)

# 项目默认是没有开启评论爬取模式,如需评论请在 config/base_config.py 中的 ENABLE_GET_COMMENTS 变量修改
# 一些其他支持项,也可以在 config/base_config.py 查看功能,写的有中文注释

# 从配置文件中读取关键词搜索相关的帖子并爬取帖子信息与评论
python main.py --platform xhs --lt qrcode --type search

# 从配置文件中读取指定的帖子ID列表获取指定帖子的信息与评论信息
python main.py --platform xhs --lt qrcode --type detail

# 打开对应APP扫二维码登录

# 其他平台爬虫使用示例,执行下面的命令查看
python main.py --help

💾 数据保存

MediaCrawler 支持多种数据存储方式,包括 CSV、JSON、JSONL、Excel、SQLite 和 MySQL 数据库。

📖 详细使用说明请查看:数据存储指南

🚀 MediaCrawlerPro 重磅发布 🚀!更多的功能,更好的架构设计!开源不易,欢迎订阅支持!

💬 交流群组

💰 赞助商展示

赞助商 介绍
TikHub TikHub.io 提供 900+ 高稳定性数据接口,覆盖 TK、DY、XHS、Y2B、Ins、X 等 14+ 海内外主流平台,支持用户、内容、商品、评论等多维度公开数据 API,并配套 4000 万+ 已清洗结构化数据集,使用邀请码 cfzyejV9 注册并充值,即可额外获得 $2 赠送额度。
Atlas CloudAtlas Cloud Atlas Cloud 是一个全模态 AI 推理平台,让开发者通过统一的 AI API 访问视频生成、图像生成和 LLM API,无需分别维护多个厂商集成,即可调用 300+ 精选模型。Atlas Cloud 最新推出 coding plan 优惠,为开发者提供更具性价比的 API 访问预算。
Bloome Bloome 是一个 AI Agent IM 平台——让多个 AI agent(Claude、ChatGPT、DeepSeek 等)和你在同一个对话里像团队成员一样协作,自动分工、互相校对,直接生成表格、文档与可视化看板。零配置、云端运行,网页和手机都能用,还能把配好的 agent 一键分享给团队。👉 试试 Bloome
NodeMaven NodeMaven 提供稳定可靠的高质量代理服务,适用于自动化、网页抓取、SEO 研究和社交媒体管理。服务支持 99.9% 可用性、最长 7 天的粘性会话、IP 质量筛选(所有代理的欺诈评分均低于 97%)、无需 KYC,以及最高 10% 的流量返现。MediaCrawler 用户使用优惠码 CRAWLER35 可享移动和住宅代理 35% 折扣,使用 CRAWLER40 可享 ISP(静态)代理 40% 折扣。👉 访问 NodeMaven

🤝 成为赞助者

成为赞助者,可以将您的产品展示在这里,每天获得大量曝光!

联系方式

  • 微信:relakkes
  • 邮箱:relakkes@gmail.com

☕ 请作者喝杯咖啡

如果这个项目对您有帮助,欢迎打赏支持,您的每一份支持都是我持续更新的动力 ❤️

微信赞赏
微信赞赏
支付宝
支付宝
Buy Me a Coffee
Buy Me a Coffee

📚 其他

⭐ Star 趋势图

如果这个项目对您有帮助,请给个 ⭐ Star 支持一下,让更多的人看到 MediaCrawler!

Star History Chart

📚 参考

免责声明

1. 项目目的与性质

本项目(以下简称“本项目”)是作为一个技术研究与学习工具而创建的,旨在探索和学习网络数据采集技术。本项目专注于自媒体平台的数据爬取技术研究,旨在提供给学习者和研究者作为技术交流之用。

2. 法律合规性声明

本项目开发者(以下简称“开发者”)郑重提醒用户在下载、安装和使用本项目时,严格遵守中华人民共和国相关法律法规,包括但不限于《中华人民共和国网络安全法》、《中华人民共和国反间谍法》等所有适用的国家法律和政策。用户应自行承担一切因使用本项目而可能引起的法律责任。

3. 使用目的限制

本项目严禁用于任何非法目的或非学习、非研究的商业行为。本项目不得用于任何形式的非法侵入他人计算机系统,不得用于任何侵犯他人知识产权或其他合法权益的行为。用户应保证其使用本项目的目的纯属个人学习和技术研究,不得用于任何形式的非法活动。

4. 免责声明

开发者已尽最大努力确保本项目的正当性及安全性,但不对用户使用本项目可能引起的任何形式的直接或间接损失承担责任。包括但不限于由于使用本项目而导致的任何数据丢失、设备损坏、法律诉讼等。

5. 知识产权声明

本项目的知识产权归开发者所有。本项目受到著作权法和国际著作权条约以及其他知识产权法律和条约的保护。用户在遵守本声明及相关法律法规的前提下,可以下载和使用本项目。

6. 最终解释权

关于本项目的最终解释权归开发者所有。开发者保留随时更改或更新本免责声明的权利,恕不另行通知。

View on GitHub

Recent activity

commits and pull requests

Code frequency

additions and deletions
+11.5K-11.5KWeek of 2025-08-03: +58 linesWeek of 2025-08-03: -32 linesWeek of 2025-08-10: +4 linesWeek of 2025-08-10: -23 linesWeek of 2025-08-17: +0 linesWeek of 2025-08-17: -0 linesWeek of 2025-08-24: +0 linesWeek of 2025-08-24: -0 linesWeek of 2025-08-31: +4,119 linesWeek of 2025-08-31: -6,552 linesWeek of 2025-09-07: +460 linesWeek of 2025-09-07: -161 linesWeek of 2025-09-14: +0 linesWeek of 2025-09-14: -0 linesWeek of 2025-09-21: +1,126 linesWeek of 2025-09-21: -1,577 linesWeek of 2025-09-28: +1 linesWeek of 2025-09-28: -1 linesWeek of 2025-10-05: +0 linesWeek of 2025-10-05: -10 linesWeek of 2025-10-12: +663 linesWeek of 2025-10-12: -105 linesWeek of 2025-10-19: +626 linesWeek of 2025-10-19: -140 linesWeek of 2025-10-26: +79 linesWeek of 2025-10-26: -20 linesWeek of 2025-11-02: +1,973 linesWeek of 2025-11-02: -918 linesWeek of 2025-11-09: +795 linesWeek of 2025-11-09: -811 linesWeek of 2025-11-16: +2,946 linesWeek of 2025-11-16: -1,006 linesWeek of 2025-11-23: +2,391 linesWeek of 2025-11-23: -335 linesWeek of 2025-11-30: +59 linesWeek of 2025-11-30: -20 linesWeek of 2025-12-07: +0 linesWeek of 2025-12-07: -13 linesWeek of 2025-12-14: +4,133 linesWeek of 2025-12-14: -140 linesWeek of 2025-12-21: +2,237 linesWeek of 2025-12-21: -2,046 linesWeek of 2025-12-28: +9 linesWeek of 2025-12-28: -7 linesWeek of 2026-01-04: +698 linesWeek of 2026-01-04: -426 linesWeek of 2026-01-11: +1 linesWeek of 2026-01-11: -1 linesWeek of 2026-01-18: +36 linesWeek of 2026-01-18: -19 linesWeek of 2026-01-25: +3 linesWeek of 2026-01-25: -3 linesWeek of 2026-02-01: +234 linesWeek of 2026-02-01: -68 linesWeek of 2026-02-08: +225 linesWeek of 2026-02-08: -314 linesWeek of 2026-02-15: +0 linesWeek of 2026-02-15: -0 linesWeek of 2026-02-22: +368 linesWeek of 2026-02-22: -358 linesWeek of 2026-03-01: +245 linesWeek of 2026-03-01: -47 linesWeek of 2026-03-08: +2 linesWeek of 2026-03-08: -1 linesWeek of 2026-03-15: +61 linesWeek of 2026-03-15: -60 linesWeek of 2026-03-22: +0 linesWeek of 2026-03-22: -27 linesWeek of 2026-03-29: +1 linesWeek of 2026-03-29: -0 linesWeek of 2026-04-05: +142 linesWeek of 2026-04-05: -188 linesWeek of 2026-04-12: +281 linesWeek of 2026-04-12: -52 linesWeek of 2026-04-19: +173 linesWeek of 2026-04-19: -43 linesWeek of 2026-04-26: +1,308 linesWeek of 2026-04-26: -176 linesWeek of 2026-05-03: +0 linesWeek of 2026-05-03: -0 linesWeek of 2026-05-10: +0 linesWeek of 2026-05-10: -0 linesWeek of 2026-05-17: +199 linesWeek of 2026-05-17: -18 linesWeek of 2026-05-24: +126 linesWeek of 2026-05-24: -52 linesWeek of 2026-05-31: +5 linesWeek of 2026-05-31: -4 linesWeek of 2026-06-07: +18 linesWeek of 2026-06-07: -0 linesWeek of 2026-06-14: +116 linesWeek of 2026-06-14: -8 linesWeek of 2026-06-21: +26 linesWeek of 2026-06-21: -1 linesWeek of 2026-06-28: +11,547 linesWeek of 2026-06-28: -1,437 linesWeek of 2026-07-05: +0 linesWeek of 2026-07-05: -0 linesWeek of 2026-07-12: +154 linesWeek of 2026-07-12: -33 linesWeek of 2026-07-19: +26 linesWeek of 2026-07-19: -130 linesWeek of 2026-07-26: +0 linesWeek of 2026-07-26: -0 linesAug 3, 2025Jul 26, 2026
+37.7K lines added, -17.4K removed over the last year.

Commits per week

last 52 weeks
120Week of 2025-08-03: 2 commitsWeek of 2025-08-10: 3 commitsWeek of 2025-08-17: 0 commitsWeek of 2025-08-24: 0 commitsWeek of 2025-08-31: 8 commitsWeek of 2025-09-07: 9 commitsWeek of 2025-09-14: 0 commitsWeek of 2025-09-21: 8 commitsWeek of 2025-09-28: 1 commitsWeek of 2025-10-05: 1 commitsWeek of 2025-10-12: 8 commitsWeek of 2025-10-19: 2 commitsWeek of 2025-10-26: 1 commitsWeek of 2025-11-02: 7 commitsWeek of 2025-11-09: 3 commitsWeek of 2025-11-16: 8 commitsWeek of 2025-11-23: 10 commitsWeek of 2025-11-30: 1 commitsWeek of 2025-12-07: 1 commitsWeek of 2025-12-14: 12 commitsWeek of 2025-12-21: 6 commitsWeek of 2025-12-28: 2 commitsWeek of 2026-01-04: 7 commitsWeek of 2026-01-11: 1 commitsWeek of 2026-01-18: 5 commitsWeek of 2026-01-25: 1 commitsWeek of 2026-02-01: 9 commitsWeek of 2026-02-08: 5 commitsWeek of 2026-02-15: 0 commitsWeek of 2026-02-22: 2 commitsWeek of 2026-03-01: 1 commitsWeek of 2026-03-08: 2 commitsWeek of 2026-03-15: 5 commitsWeek of 2026-03-22: 1 commitsWeek of 2026-03-29: 1 commitsWeek of 2026-04-05: 3 commitsWeek of 2026-04-12: 2 commitsWeek of 2026-04-19: 2 commitsWeek of 2026-04-26: 1 commitsWeek of 2026-05-03: 0 commitsWeek of 2026-05-10: 0 commitsWeek of 2026-05-17: 7 commitsWeek of 2026-05-24: 2 commitsWeek of 2026-05-31: 1 commitsWeek of 2026-06-07: 1 commitsWeek of 2026-06-14: 2 commitsWeek of 2026-06-21: 1 commitsWeek of 2026-06-28: 8 commitsWeek of 2026-07-05: 0 commitsWeek of 2026-07-12: 1 commitsWeek of 2026-07-19: 2 commitsWeek of 2026-07-26: 0 commitsAug 3, 2025Jul 26, 2026
166 commits in the last 52 weeks.

When work happens

weekday and hour
SunMonTueWedThuFriSat036912151821Sun 0:00 — 7 commitsSun 1:00 — 7 commitsSun 2:00 — 0 commitsSun 3:00 — 3 commitsSun 4:00 — 1 commitsSun 5:00 — 0 commitsSun 6:00 — 1 commitsSun 7:00 — 1 commitsSun 8:00 — 0 commitsSun 9:00 — 1 commitsSun 10:00 — 3 commitsSun 11:00 — 2 commitsSun 12:00 — 0 commitsSun 13:00 — 4 commitsSun 14:00 — 3 commitsSun 15:00 — 5 commitsSun 16:00 — 1 commitsSun 17:00 — 3 commitsSun 18:00 — 4 commitsSun 19:00 — 6 commitsSun 20:00 — 3 commitsSun 21:00 — 10 commitsSun 22:00 — 10 commitsSun 23:00 — 6 commitsMon 0:00 — 11 commitsMon 1:00 — 1 commitsMon 2:00 — 0 commitsMon 3:00 — 10 commitsMon 4:00 — 0 commitsMon 5:00 — 0 commitsMon 6:00 — 0 commitsMon 7:00 — 0 commitsMon 8:00 — 1 commitsMon 9:00 — 0 commitsMon 10:00 — 0 commitsMon 11:00 — 1 commitsMon 12:00 — 4 commitsMon 13:00 — 2 commitsMon 14:00 — 0 commitsMon 15:00 — 3 commitsMon 16:00 — 0 commitsMon 17:00 — 4 commitsMon 18:00 — 7 commitsMon 19:00 — 3 commitsMon 20:00 — 6 commitsMon 21:00 — 7 commitsMon 22:00 — 9 commitsMon 23:00 — 4 commitsTue 0:00 — 4 commitsTue 1:00 — 2 commitsTue 2:00 — 2 commitsTue 3:00 — 2 commitsTue 4:00 — 0 commitsTue 5:00 — 1 commitsTue 6:00 — 1 commitsTue 7:00 — 0 commitsTue 8:00 — 0 commitsTue 9:00 — 2 commitsTue 10:00 — 2 commitsTue 11:00 — 4 commitsTue 12:00 — 4 commitsTue 13:00 — 4 commitsTue 14:00 — 6 commitsTue 15:00 — 4 commitsTue 16:00 — 3 commitsTue 17:00 — 6 commitsTue 18:00 — 3 commitsTue 19:00 — 1 commitsTue 20:00 — 7 commitsTue 21:00 — 5 commitsTue 22:00 — 7 commitsTue 23:00 — 9 commitsWed 0:00 — 0 commitsWed 1:00 — 3 commitsWed 2:00 — 2 commitsWed 3:00 — 2 commitsWed 4:00 — 1 commitsWed 5:00 — 0 commitsWed 6:00 — 1 commitsWed 7:00 — 0 commitsWed 8:00 — 0 commitsWed 9:00 — 3 commitsWed 10:00 — 11 commitsWed 11:00 — 11 commitsWed 12:00 — 9 commitsWed 13:00 — 7 commitsWed 14:00 — 4 commitsWed 15:00 — 3 commitsWed 16:00 — 9 commitsWed 17:00 — 2 commitsWed 18:00 — 9 commitsWed 19:00 — 6 commitsWed 20:00 — 0 commitsWed 21:00 — 6 commitsWed 22:00 — 4 commitsWed 23:00 — 16 commitsThu 0:00 — 8 commitsThu 1:00 — 2 commitsThu 2:00 — 0 commitsThu 3:00 — 0 commitsThu 4:00 — 0 commitsThu 5:00 — 1 commitsThu 6:00 — 1 commitsThu 7:00 — 1 commitsThu 8:00 — 0 commitsThu 9:00 — 0 commitsThu 10:00 — 2 commitsThu 11:00 — 2 commitsThu 12:00 — 1 commitsThu 13:00 — 7 commitsThu 14:00 — 7 commitsThu 15:00 — 10 commitsThu 16:00 — 7 commitsThu 17:00 — 12 commitsThu 18:00 — 5 commitsThu 19:00 — 1 commitsThu 20:00 — 7 commitsThu 21:00 — 1 commitsThu 22:00 — 14 commitsThu 23:00 — 10 commitsFri 0:00 — 10 commitsFri 1:00 — 1 commitsFri 2:00 — 1 commitsFri 3:00 — 1 commitsFri 4:00 — 1 commitsFri 5:00 — 1 commitsFri 6:00 — 0 commitsFri 7:00 — 0 commitsFri 8:00 — 1 commitsFri 9:00 — 5 commitsFri 10:00 — 6 commitsFri 11:00 — 2 commitsFri 12:00 — 2 commitsFri 13:00 — 1 commitsFri 14:00 — 3 commitsFri 15:00 — 5 commitsFri 16:00 — 9 commitsFri 17:00 — 9 commitsFri 18:00 — 7 commitsFri 19:00 — 6 commitsFri 20:00 — 4 commitsFri 21:00 — 6 commitsFri 22:00 — 6 commitsFri 23:00 — 6 commitsSat 0:00 — 10 commitsSat 1:00 — 5 commitsSat 2:00 — 4 commitsSat 3:00 — 0 commitsSat 4:00 — 4 commitsSat 5:00 — 1 commitsSat 6:00 — 3 commitsSat 7:00 — 3 commitsSat 8:00 — 1 commitsSat 9:00 — 2 commitsSat 10:00 — 4 commitsSat 11:00 — 4 commitsSat 12:00 — 5 commitsSat 13:00 — 4 commitsSat 14:00 — 2 commitsSat 15:00 — 9 commitsSat 16:00 — 3 commitsSat 17:00 — 2 commitsSat 18:00 — 4 commitsSat 19:00 — 1 commitsSat 20:00 — 3 commitsSat 21:00 — 5 commitsSat 22:00 — 7 commitsSat 23:00 — 6 commits
Commit volume by weekday and hour (UTC). Larger dots mean more commits.

Who is committing

last 52 weeks
Maintainer commits161 (67%)
Community commits78 (33%)

239 commits in total over the last year.

DateListRankStars gained
Jun 27, 2026daily#21+28
Jun 26, 2026daily#15+19
Jan 13, 2026daily#21+140