免责声明:
请以学习为目的使用本仓库,爬虫违法违规案例:https://github.com/HiddenStrawberry/Crawler_Illegal_Cases_In_China
本仓库的所有内容仅供学习和参考之用,禁止用于商业用途。任何人或组织不得将本仓库的内容用于非法用途或侵犯他人合法权益。本仓库所涉及的爬虫技术仅用于学习和研究,不得用于对其他平台进行大规模爬虫或其他非法行为。对于因使用本仓库内容而引起的任何法律责任,本仓库不承担任何责任。使用本仓库的内容即表示您同意本免责声明的所有条款和条件。
点击查看更为详细的免责声明。点击跳转
仓库描述
小红书爬虫,抖音爬虫,快手爬虫,B站爬虫,微博爬虫,百度贴吧...。 目前能抓取小红书、抖音、快手、B站、微博的视频、图片、评论、点赞、转发等信息。
原理:利用playwright搭桥,保留登录成功后的上下文浏览器环境,通过执行JS表达式获取一些加密参数。 通过使用此方式,免去了复现核心加密JS代码,逆向难度大大降低。
MediaCrawlerPro版本经过2个周的通宵,已经迭代出来了,相较于现在有一些优势:
- 多账号+IP代理支持(重点!)
- 去除Playwright依赖,使用更加简单
- 支持linux部署(Docker docker-compose)
- 代码重构优化,更加易读易维护
功能列表
平台 | 关键词搜索 | 指定帖子ID爬取 | 二级评论 | 指定创作者主页 | 登录态缓存 | IP代理池 | 生成评论词云图 |
---|---|---|---|---|---|---|---|
小红书 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
抖音 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
快手 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
B 站 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
微博 | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ |
贴吧 | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ |
使用方法
创建并激活 python 虚拟环境
# 进入项目根目录
cd MediaCrawler
# 创建虚拟环境
# 注意python 版本需要3.7 - 3.9 高于该版本可能会出现一些依赖包兼容问题
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、PgSQL等)
- 执行
python db.py
初始化数据库数据库表结构(只在首次执行)
- 执行
- 支持保存到csv中(data/目录下)
- 支持保存到json中(data/目录下)
加入MediaCrawler爬虫项目交流群。点击跳转加入
开发者服务
-
MediaCrawler视频课程:
课程介绍飞书文档链接:https://relakkes.feishu.cn/wiki/JUgBwdhIeiSbAwkFCLkciHdAnhh 如果你想很快入门这个项目,或者想了解具体实现原理,我推荐你看看这个视频课程,从设计出发一步步带你如何使用,门槛大大降低
同时也是对我开源的支持,如果你能支持我的课程,我将会非常开心~
-
知识星球:沉淀高质量常见问题、最佳实践文档、多年编程+爬虫经验分享,提供付费知识星球服务,主动提问,作者会定期回答问题(每天1块钱订阅我的知识服务)
星球精选文章:
Thanks to the following Sponsors for supporting this repository
-
【Fast Proxy】Enterprise-level proxy IP service, fast and stable, safe and reliable. The best choice for crawler engineers.
Become a sponsor and showcase your product here to gain daily exposure. Contact the author on WeChat: yzglan
Donations
If you find this project helpful, you can make a donation. Your support is my greatest motivation!
When making a donation, you can leave a note with your name, and I will add you to the donation list.
View donation list Click to jump
MediaCrawler Crawler Project Discussion Group:
Scan my personal WeChat QR code below and note "github" to be added to the MediaCrawler project discussion group (please make sure to note "github", a WeChat assistant will automatically add you to the group)
If the image doesn't display, you can directly add my WeChat ID: yzglan
Common Q&A for Runtime Errors
Try to search and solve problems on your own first. AI is very popular now, and ChatGPT can solve most of your problems in many cases Free ChatGPT
➡️➡️➡️ Common Issues
Douyin and Xiaohongshu now use Playwright for login, which will have slider verification + SMS verification. Please manually complete this process.
Project Code Structure
➡️➡️➡️ Project Code Structure Description
Proxy IP Usage Instructions
➡️➡️➡️ Proxy Usage Instructions
Word Cloud Related Operation Instructions
➡️➡️➡️ Word Cloud Related Instructions
Mobile Number Login Instructions
➡️➡️➡️ Mobile Number Login Instructions
Crawler Beginner Course
I've started a new crawler tutorial Github repository CrawlerTutorial. Interested friends can follow it. It's continuously updated and completely free.
项目贡献者
感谢你们的贡献,让项目变得更好!(贡献比较多的可以加我微信,免费拉你进我的知识星球,后期还有一些其他福利。)
程序员阿江-Relakkes |
leantli |
Rosyrain |
包诸涵 |
周楠 |
helloteemo |
二梦 |
花生溅射 |
HIRO |
亨利 何 |
leonardoqiuyu |
jayeeliu |
吕文博 |
ZhouXsh |
ZuWard |
Zendrix |
张振鹏 |
谭鹏 |
xbsheng |
马丁 |
zhihuiio |
任 |
王天赐 |
Styunlen |
Schofi |
Klu5ure |
科米特 |
KEXNA |
张健 |
欧阳 |
天青 |
康景阳 |
参考
- 小红书客户端 ReaJason 的 xhs 仓库
- 短信转发 参考仓库
- 内网穿透工具 ngrok
捐赠信息
注:打赏时请备注捐赠者姓名,如有遗漏请联系我添加(有时消息较多可能会遗漏,十分抱歉)
捐赠者 | 捐赠金额 | 捐赠日期 |
---|---|---|
*皓 | 50 元 | 2024-03-18 |
*刚 | 50 元 | 2024-03-18 |
*乐 | 20 元 | 2024-03-17 |
*木 | 20 元 | 2024-03-17 |
*诚 | 20 元 | 2024-03-17 |
Strem Gamer | 20 元 | 2024-03-16 |
*鑫 | 20 元 | 2024-03-14 |
Yuzu | 20 元 | 2024-03-07 |
**宁 | 100 元 | 2024-03-03 |
**媛 | 20 元 | 2024-03-03 |
Scarlett | 20 元 | 2024-02-16 |
Asun | 20 元 | 2024-01-30 |
何* | 100 元 | 2024-01-21 |
allen | 20 元 | 2024-01-10 |
llllll | 20 元 | 2024-01-07 |
邝*元 | 20 元 | 2023-12-29 |
50chen | 50 元 | 2023-12-22 |
xiongot | 20 元 | 2023-12-17 |
atom.hu | 20 元 | 2023-12-16 |
一呆 | 20 元 | 2023-12-01 |
坠落 | 50 元 | 2023-11-08 |
免责声明
1. 项目目的与性质
本项目(以下简称"本项目")是作为一个技术研究与学习工具而创建的,旨在探索和学习网络数据采集技术。本项目专注于自媒体平台的数据爬取技术研究,旨在提供给学习者和研究者作为技术交流之用。
2. 法律合规性声明
本项目开发者(以下简称"开发者")郑重提醒用户在下载、安装和使用本项目时,严格遵守中华人民共和国相关法律法规,包括但不限于《中华人民共和国网络安全法》、《中华人民共和国反间谍法》等所有适用的国家法律和政策。用户应自行承担一切因使用本项目而可能引起的法律责任。
3. 使用目的限制
本项目严禁用于任何非法目的或非学习、非研究的商业行为。本项目不得用于任何形式的非法侵入他人计算机系统,不得用于任何侵犯他人知识产权或其他合法权益的行为。用户应保证其使用本项目的目的纯属个人学习和技术研究,不得用于任何形式的非法活动。
4. 免责声明
开发者已尽最大努力确保本项目的正当性及安全性,但不对用户使用本项目可能引起的任何形式的直接或间接损失承担责任。包括但不限于由于使用本项目而导致的任何数据丢失、设备损坏、法律诉讼等。
5. 知识产权声明
本项目的知识产权归开发者所有。本项目受到著作权法和国际著作权条约以及其他知识产权法律和条约的保护。用户在遵守本声明及相关法律法规的前提下,可以下载和使用本项目。
6. 最终解释权
关于本项目的最终解释权归开发者所有。开发者保留随时更改或更新本免责声明的权利,恕不另行通知。