Skip to content

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

License

Notifications You must be signed in to change notification settings

NanmiCoder/MediaCrawler

Repository files navigation

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

免责声明:

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

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

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

📖 项目简介

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

🔧 技术原理

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

✨ 功能特性

平台 关键词搜索 指定帖子ID爬取 二级评论 指定创作者主页 登录态缓存 IP代理池 生成评论词云图
小红书
抖音
快手
B 站
微博
贴吧
知乎
🔗 🚀 MediaCrawlerPro 重磅发布!更多的功能,更好的架构设计!

🚀 MediaCrawlerPro 重磅发布!

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

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

🎯 核心功能升级

  • 断点续爬功能(重点特性)
  • 多账号 + IP代理池支持(重点特性)
  • 去除 Playwright 依赖,使用更简单
  • 完整 Linux 环境支持

🏗️ 架构设计优化

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

🎁 额外功能

  • 自媒体视频下载器桌面端(适合学习全栈开发)
  • 多平台首页信息流推荐(HomeFeed)
  • 基于自媒体平台的AI Agent正在开发中 🚀🚀

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

🚀 快速开始

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

📋 前置依赖

🚀 uv 安装(推荐)

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

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

🟢 Node.js 安装

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

📦 Python 包安装

# 进入项目目录
cd MediaCrawler

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

🌐 浏览器驱动安装

# 安装浏览器驱动
uv run playwright install

💡 提示:MediaCrawler 目前已经支持使用 playwright 连接你本地的 Chrome 浏览器了,一些因为 Webdriver 导致的问题迎刃而解了。

目前开放了 xhsdy 这两个使用 CDP 的方式连接本地浏览器,如有需要,查看 config/base_config.py 中的配置项。

🚀 运行爬虫程序

# 项目默认是没有开启评论爬取模式,如需评论请在 config/base_config.py 中的 ENABLE_GET_COMMENTS 变量修改
# 一些其他支持项,也可以在 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
🔗 使用 Python 原生 venv 管理环境(不推荐)

创建并激活 Python 虚拟环境

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

# 进入项目根目录
cd MediaCrawler

# 创建虚拟环境
# 我的 python 版本是:3.9.6,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

💾 数据保存

支持多种数据存储方式:

  • MySQL 数据库:支持关系型数据库 MySQL 中保存(需要提前创建数据库)
    • 执行 python db.py 初始化数据库表结构(只在首次执行)
  • CSV 文件:支持保存到 CSV 中(data/ 目录下)
  • JSON 文件:支持保存到 JSON 中(data/ 目录下)

🚀 MediaCrawlerPro 重磅发布 🚀!更多的功能,更好的架构设计!

🤝 社区与支持

💬 交流群组

📚 文档与教程

其他常见问题可以查看在线文档

在线文档包含使用方法、常见问题、加入项目交流群等。 MediaCrawler在线文档

作者提供的知识服务

如果想快速入门和学习该项目的使用、源码架构设计等、学习编程技术、亦或者想了解MediaCrawlerPro的源代码设计可以看下我的知识付费栏目。

作者的知识付费栏目介绍


⭐ Star 趋势图

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

Star History Chart

💰 赞助商展示


**Swiftproxy** - 90M+ 全球高质量纯净住宅IP,注册可领免费 500MB 测试流量,动态流量不过期! > 专属折扣码:**GHB5** 立享九折优惠!



Sider - 全网最火的 ChatGPT 插件,体验拉满!

🤝 成为赞助者

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

联系方式

📚 参考

免责声明

1. 项目目的与性质

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

2. 法律合规性声明

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

3. 使用目的限制

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

4. 免责声明

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

5. 知识产权声明

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

6. 最终解释权

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

🙏 致谢

JetBrains 开源许可证支持

感谢 JetBrains 为本项目提供免费的开源许可证支持!

JetBrains

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 41

Languages