feat: 新增 JSONL 存储格式支持,默认存储格式改为 jsonl JSONL(JSON Lines)每行一个 JSON 对象,采用 append 模式写入, 无需读取已有数据,大数据量下性能远优于 JSON 格式。 新增 AsyncFileWriter.write_to_jsonl() 核心方法 7 个平台新增 JsonlStoreImplement 类并注册到工厂 配置默认值从 json 改为 jsonl,CLI/API 枚举同步更新 db_session.py 守卫条件加入 jsonl,避免误触 ValueError 词云生成支持读取 JSONL 文件,优先 jsonl 回退 json 原有 json 选项完全保留,向后兼容 更新相关文档和测试
feat: 新增 JSONL 存储格式支持,默认存储格式改为 jsonl
JSONL(JSON Lines)每行一个 JSON 对象,采用 append 模式写入, 无需读取已有数据,大数据量下性能远优于 JSON 格式。
免责声明: 大家请以学习为目的使用本仓库⚠️⚠️⚠️⚠️,爬虫违法违规的案件 本仓库的所有内容仅供学习和参考之用,禁止用于商业用途。任何人或组织不得将本仓库的内容用于非法用途或侵犯他人合法权益。本仓库所涉及的爬虫技术仅用于学习和研究,不得用于对其他平台进行大规模爬虫或其他非法行为。对于因使用本仓库内容而引起的任何法律责任,本仓库不承担任何责任。使用本仓库的内容即表示您同意本免责声明的所有条款和条件。 点击查看更为详细的免责声明。点击跳转
免责声明:
大家请以学习为目的使用本仓库⚠️⚠️⚠️⚠️,爬虫违法违规的案件
本仓库的所有内容仅供学习和参考之用,禁止用于商业用途。任何人或组织不得将本仓库的内容用于非法用途或侵犯他人合法权益。本仓库所涉及的爬虫技术仅用于学习和研究,不得用于对其他平台进行大规模爬虫或其他非法行为。对于因使用本仓库内容而引起的任何法律责任,本仓库不承担任何责任。使用本仓库的内容即表示您同意本免责声明的所有条款和条件。
点击查看更为详细的免责声明。点击跳转
一个功能强大的多平台自媒体数据采集工具,支持小红书、抖音、快手、B站、微博、贴吧、知乎等主流平台的公开信息抓取。
MediaCrawlerPro 重磅发布!开源不易,欢迎订阅支持
专注于学习成熟项目的架构设计,不仅仅是爬虫技术,Pro 版本的代码设计思路同样值得深入学习!
MediaCrawlerPro 相较于开源版本的核心优势:
点击查看:MediaCrawlerPro 项目主页 更多介绍
💡 如果这个项目对您有帮助,请给个 ⭐ Star 支持一下!
在进行下一步操作之前,请确保电脑上已经安装了 uv:
uv --version
项目依赖 Node.js,请前往官网下载安装:
# 进入项目目录 cd MediaCrawler # 使用 uv sync 命令来保证 python 版本和相关依赖包的一致性 uv sync
# 安装浏览器驱动 uv run playwright install
# 在 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
MediaCrawler 提供了基于 Web 的可视化操作界面,无需命令行也能轻松使用爬虫功能。
# 启动 API 服务器(默认端口 8080) uv run uvicorn api.main:app --port 8080 --reload # 或者使用模块方式启动 uv run python -m api.main
启动成功后,访问 http://localhost:8080 即可打开 WebUI 界面。
http://localhost:8080
如果是爬取抖音和知乎,需要提前安装 nodejs 环境,版本大于等于:16 即可
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 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 重磅发布 🚀!更多的功能,更好的架构设计!开源不易,欢迎订阅支持!
cfzyejV9
成为赞助者,可以将您的产品展示在这里,每天获得大量曝光!
联系方式:
relakkes
relakkes@gmail.com
如果这个项目对您有帮助,请给个 ⭐ Star 支持一下,让更多的人看到 MediaCrawler!
本项目(以下简称“本项目”)是作为一个技术研究与学习工具而创建的,旨在探索和学习网络数据采集技术。本项目专注于自媒体平台的数据爬取技术研究,旨在提供给学习者和研究者作为技术交流之用。
本项目开发者(以下简称“开发者”)郑重提醒用户在下载、安装和使用本项目时,严格遵守中华人民共和国相关法律法规,包括但不限于《中华人民共和国网络安全法》、《中华人民共和国反间谍法》等所有适用的国家法律和政策。用户应自行承担一切因使用本项目而可能引起的法律责任。
本项目严禁用于任何非法目的或非学习、非研究的商业行为。本项目不得用于任何形式的非法侵入他人计算机系统,不得用于任何侵犯他人知识产权或其他合法权益的行为。用户应保证其使用本项目的目的纯属个人学习和技术研究,不得用于任何形式的非法活动。
开发者已尽最大努力确保本项目的正当性及安全性,但不对用户使用本项目可能引起的任何形式的直接或间接损失承担责任。包括但不限于由于使用本项目而导致的任何数据丢失、设备损坏、法律诉讼等。
本项目的知识产权归开发者所有。本项目受到著作权法和国际著作权条约以及其他知识产权法律和条约的保护。用户在遵守本声明及相关法律法规的前提下,可以下载和使用本项目。
关于本项目的最终解释权归开发者所有。开发者保留随时更改或更新本免责声明的权利,恕不另行通知。
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802032778号
🔥 MediaCrawler - 自媒体平台爬虫 🕷️
📖 项目简介
一个功能强大的多平台自媒体数据采集工具,支持小红书、抖音、快手、B站、微博、贴吧、知乎等主流平台的公开信息抓取。
🔧 技术原理
✨ 功能特性
MediaCrawlerPro 重磅发布!开源不易,欢迎订阅支持
MediaCrawlerPro 相较于开源版本的核心优势:
🎯 核心功能升级
🏗️ 架构设计优化
🎁 额外功能
点击查看:MediaCrawlerPro 项目主页 更多介绍
🚀 快速开始
📋 前置依赖
🚀 uv 安装(推荐)
在进行下一步操作之前,请确保电脑上已经安装了 uv:
uv --version,如果正常显示版本号,证明已经安装成功🟢 Node.js 安装
项目依赖 Node.js,请前往官网下载安装:
📦 Python 包安装
🌐 浏览器驱动安装
🚀 运行爬虫程序
🖥️ WebUI 可视化操作界面
MediaCrawler 提供了基于 Web 的可视化操作界面,无需命令行也能轻松使用爬虫功能。
启动 WebUI 服务
启动成功后,访问
http://localhost:8080即可打开 WebUI 界面。WebUI 功能特性
界面预览
🔗 使用 Python 原生 venv 管理环境(不推荐)
创建并激活 Python 虚拟环境
安装依赖库
安装 playwright 浏览器驱动
运行爬虫程序(原生环境)
💾 数据保存
MediaCrawler 支持多种数据存储方式,包括 CSV、JSON、JSONL、Excel、SQLite 和 MySQL 数据库。
📖 详细使用说明请查看:数据存储指南
🚀 MediaCrawlerPro 重磅发布 🚀!更多的功能,更好的架构设计!开源不易,欢迎订阅支持!
💬 交流群组
💰 赞助商展示
TikHub.io 提供 900+ 高稳定性数据接口,覆盖 TK、DY、XHS、Y2B、Ins、X 等 14+ 海内外主流平台,支持用户、内容、商品、评论等多维度公开数据 API,并配套 4000 万+ 已清洗结构化数据集,使用邀请码
cfzyejV9注册并充值,即可额外获得 $2 赠送额度。Thordata:可靠且经济高效的代理服务提供商。为企业和开发者提供稳定、高效且合规的全球代理 IP 服务。立即注册,赠送1GB住宅代理免费试用和2000次serp-api调用。
【住宅代理】 | 【serp-api】
🤝 成为赞助者
成为赞助者,可以将您的产品展示在这里,每天获得大量曝光!
联系方式:
relakkesrelakkes@gmail.com📚 其他
⭐ Star 趋势图
如果这个项目对您有帮助,请给个 ⭐ Star 支持一下,让更多的人看到 MediaCrawler!
📚 参考
免责声明
1. 项目目的与性质
本项目(以下简称“本项目”)是作为一个技术研究与学习工具而创建的,旨在探索和学习网络数据采集技术。本项目专注于自媒体平台的数据爬取技术研究,旨在提供给学习者和研究者作为技术交流之用。
2. 法律合规性声明
本项目开发者(以下简称“开发者”)郑重提醒用户在下载、安装和使用本项目时,严格遵守中华人民共和国相关法律法规,包括但不限于《中华人民共和国网络安全法》、《中华人民共和国反间谍法》等所有适用的国家法律和政策。用户应自行承担一切因使用本项目而可能引起的法律责任。
3. 使用目的限制
本项目严禁用于任何非法目的或非学习、非研究的商业行为。本项目不得用于任何形式的非法侵入他人计算机系统,不得用于任何侵犯他人知识产权或其他合法权益的行为。用户应保证其使用本项目的目的纯属个人学习和技术研究,不得用于任何形式的非法活动。
4. 免责声明
开发者已尽最大努力确保本项目的正当性及安全性,但不对用户使用本项目可能引起的任何形式的直接或间接损失承担责任。包括但不限于由于使用本项目而导致的任何数据丢失、设备损坏、法律诉讼等。
5. 知识产权声明
本项目的知识产权归开发者所有。本项目受到著作权法和国际著作权条约以及其他知识产权法律和条约的保护。用户在遵守本声明及相关法律法规的前提下,可以下载和使用本项目。
6. 最终解释权
关于本项目的最终解释权归开发者所有。开发者保留随时更改或更新本免责声明的权利,恕不另行通知。