mirror of
https://github.com/NanmiCoder/MediaCrawler.git
synced 2026-02-26 18:20:47 +08:00
Merge pull request #635 from Root-FTW/main
🌐 Add multilingual documentation support (English & Spanish)
This commit is contained in:
12
README.md
12
README.md
@@ -1,5 +1,17 @@
|
||||
# 🔥 MediaCrawler - 自媒体平台爬虫 🕷️
|
||||
|
||||
## 🌐 Language / 语言 / Idioma
|
||||
|
||||
<div align="center">
|
||||
|
||||
| 🇨🇳 中文 | 🇺🇸 English | 🇪🇸 Español |
|
||||
|---------|----------|----------|
|
||||
| **[中文文档](README.md)** ← 当前 | **[English](README_en.md)** | **[Español](README_es.md)** |
|
||||
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
<div align="center">
|
||||
|
||||
<a href="https://trendshift.io/repositories/8291" target="_blank">
|
||||
|
||||
306
README_en.md
Normal file
306
README_en.md
Normal file
@@ -0,0 +1,306 @@
|
||||
# 🔥 MediaCrawler - Social Media Platform Crawler 🕷️
|
||||
|
||||
## 🌐 Language / 语言 / Idioma
|
||||
|
||||
<div align="center">
|
||||
|
||||
| 🇨🇳 中文 | 🇺🇸 English | 🇪🇸 Español |
|
||||
|---------|----------|----------|
|
||||
| **[中文文档](README.md)** | **[English](README_en.md)** ← Current | **[Español](README_es.md)** |
|
||||
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
<div align="center">
|
||||
|
||||
<a href="https://trendshift.io/repositories/8291" target="_blank">
|
||||
<img src="https://trendshift.io/api/badge/repositories/8291" alt="NanmiCoder%2FMediaCrawler | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/>
|
||||
</a>
|
||||
|
||||
[](https://github.com/NanmiCoder/MediaCrawler/stargazers)
|
||||
[](https://github.com/NanmiCoder/MediaCrawler/network/members)
|
||||
[](https://github.com/NanmiCoder/MediaCrawler/issues)
|
||||
[](https://github.com/NanmiCoder/MediaCrawler/pulls)
|
||||
[](https://github.com/NanmiCoder/MediaCrawler/blob/main/LICENSE)
|
||||
|
||||
</div>
|
||||
|
||||
> **Disclaimer:**
|
||||
>
|
||||
> Please use this repository for learning purposes only ⚠️⚠️⚠️⚠️, [Web scraping illegal cases](https://github.com/HiddenStrawberry/Crawler_Illegal_Cases_In_China) <br>
|
||||
>
|
||||
>All content in this repository is for learning and reference purposes only, and commercial use is prohibited. No person or organization may use the content of this repository for illegal purposes or infringe upon the legitimate rights and interests of others. The web scraping technology involved in this repository is only for learning and research, and may not be used for large-scale crawling of other platforms or other illegal activities. This repository assumes no legal responsibility for any legal liability arising from the use of the content of this repository. By using the content of this repository, you agree to all terms and conditions of this disclaimer.
|
||||
>
|
||||
> Click to view a more detailed disclaimer. [Click to jump](#disclaimer)
|
||||
|
||||
## 📖 Project Introduction
|
||||
|
||||
A powerful **multi-platform social media data collection tool** that supports crawling public information from mainstream platforms including Xiaohongshu, Douyin, Kuaishou, Bilibili, Weibo, Tieba, Zhihu, and more.
|
||||
|
||||
### 🔧 Technical Principles
|
||||
|
||||
- **Core Technology**: Based on [Playwright](https://playwright.dev/) browser automation framework for login and maintaining login state
|
||||
- **No JS Reverse Engineering Required**: Uses browser context environment with preserved login state to obtain signature parameters through JS expressions
|
||||
- **Advantages**: No need to reverse complex encryption algorithms, significantly lowering the technical barrier
|
||||
|
||||
## ✨ Features
|
||||
| Platform | Keyword Search | Specific Post ID Crawling | Secondary Comments | Specific Creator Homepage | Login State Cache | IP Proxy Pool | Generate Comment Word Cloud |
|
||||
| ------ | ---------- | -------------- | -------- | -------------- | ---------- | -------- | -------------- |
|
||||
| Xiaohongshu | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| Douyin | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| Kuaishou | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| Bilibili | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| Weibo | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| Tieba | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| Zhihu | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
|
||||
|
||||
<details id="pro-version">
|
||||
<summary>🔗 <strong>🚀 MediaCrawlerPro Major Release! More features, better architectural design!</strong></summary>
|
||||
|
||||
### 🚀 MediaCrawlerPro Major Release!
|
||||
|
||||
> Focus on learning mature project architectural design, not just crawling technology. The code design philosophy of the Pro version is equally worth in-depth study!
|
||||
|
||||
[MediaCrawlerPro](https://github.com/MediaCrawlerPro) core advantages over the open-source version:
|
||||
|
||||
#### 🎯 Core Feature Upgrades
|
||||
- ✅ **Resume crawling functionality** (Key feature)
|
||||
- ✅ **Multi-account + IP proxy pool support** (Key feature)
|
||||
- ✅ **Remove Playwright dependency**, easier to use
|
||||
- ✅ **Complete Linux environment support**
|
||||
|
||||
#### 🏗️ Architectural Design Optimization
|
||||
- ✅ **Code refactoring optimization**, more readable and maintainable (decoupled JS signature logic)
|
||||
- ✅ **Enterprise-level code quality**, suitable for building large-scale crawler projects
|
||||
- ✅ **Perfect architectural design**, high scalability, greater source code learning value
|
||||
|
||||
#### 🎁 Additional Features
|
||||
- ✅ **Social media video downloader desktop app** (suitable for learning full-stack development)
|
||||
- ✅ **Multi-platform homepage feed recommendations** (HomeFeed)
|
||||
- [ ] **AI Agent based on social media platforms is under development 🚀🚀**
|
||||
|
||||
Click to view: [MediaCrawlerPro Project Homepage](https://github.com/MediaCrawlerPro) for more information
|
||||
</details>
|
||||
|
||||
## 🚀 Quick Start
|
||||
|
||||
> 💡 **Open source is not easy, if this project helps you, please give a ⭐ Star to support!**
|
||||
|
||||
## 📋 Prerequisites
|
||||
|
||||
### 🚀 uv Installation (Recommended)
|
||||
|
||||
Before proceeding with the next steps, please ensure that uv is installed on your computer:
|
||||
|
||||
- **Installation Guide**: [uv Official Installation Guide](https://docs.astral.sh/uv/getting-started/installation)
|
||||
- **Verify Installation**: Enter the command `uv --version` in the terminal. If the version number is displayed normally, the installation was successful
|
||||
- **Recommendation Reason**: uv is currently the most powerful Python package management tool, with fast speed and accurate dependency resolution
|
||||
|
||||
### 🟢 Node.js Installation
|
||||
|
||||
The project depends on Node.js, please download and install from the official website:
|
||||
|
||||
- **Download Link**: https://nodejs.org/en/download/
|
||||
- **Version Requirement**: >= 16.0.0
|
||||
|
||||
### 📦 Python Package Installation
|
||||
|
||||
```shell
|
||||
# Enter project directory
|
||||
cd MediaCrawler
|
||||
|
||||
# Use uv sync command to ensure consistency of python version and related dependency packages
|
||||
uv sync
|
||||
```
|
||||
|
||||
### 🌐 Browser Driver Installation
|
||||
|
||||
```shell
|
||||
# Install browser driver
|
||||
uv run playwright install
|
||||
```
|
||||
|
||||
> **💡 Tip**: MediaCrawler now supports using playwright to connect to your local Chrome browser, solving some issues caused by Webdriver.
|
||||
>
|
||||
> Currently, `xhs` and `dy` are available using CDP mode to connect to local browsers. If needed, check the configuration items in `config/base_config.py`.
|
||||
|
||||
## 🚀 Run Crawler Program
|
||||
|
||||
```shell
|
||||
# The project does not enable comment crawling mode by default. If you need comments, please modify the ENABLE_GET_COMMENTS variable in config/base_config.py
|
||||
# Other supported options can also be viewed in config/base_config.py with Chinese comments
|
||||
|
||||
# Read keywords from configuration file to search related posts and crawl post information and comments
|
||||
uv run main.py --platform xhs --lt qrcode --type search
|
||||
|
||||
# Read specified post ID list from configuration file to get information and comment information of specified posts
|
||||
uv run main.py --platform xhs --lt qrcode --type detail
|
||||
|
||||
# Open corresponding APP to scan QR code for login
|
||||
|
||||
# For other platform crawler usage examples, execute the following command to view
|
||||
uv run main.py --help
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>🔗 <strong>Using Python native venv environment management (Not recommended)</strong></summary>
|
||||
|
||||
#### Create and activate Python virtual environment
|
||||
|
||||
> If crawling Douyin and Zhihu, you need to install nodejs environment in advance, version greater than or equal to: `16`
|
||||
|
||||
```shell
|
||||
# Enter project root directory
|
||||
cd MediaCrawler
|
||||
|
||||
# Create virtual environment
|
||||
# My python version is: 3.9.6, the libraries in requirements.txt are based on this version
|
||||
# If using other python versions, the libraries in requirements.txt may not be compatible, please resolve on your own
|
||||
python -m venv venv
|
||||
|
||||
# macOS & Linux activate virtual environment
|
||||
source venv/bin/activate
|
||||
|
||||
# Windows activate virtual environment
|
||||
venv\Scripts\activate
|
||||
```
|
||||
|
||||
#### Install dependency libraries
|
||||
|
||||
```shell
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
#### Install playwright browser driver
|
||||
|
||||
```shell
|
||||
playwright install
|
||||
```
|
||||
|
||||
#### Run crawler program (native environment)
|
||||
|
||||
```shell
|
||||
# The project does not enable comment crawling mode by default. If you need comments, please modify the ENABLE_GET_COMMENTS variable in config/base_config.py
|
||||
# Other supported options can also be viewed in config/base_config.py with Chinese comments
|
||||
|
||||
# Read keywords from configuration file to search related posts and crawl post information and comments
|
||||
python main.py --platform xhs --lt qrcode --type search
|
||||
|
||||
# Read specified post ID list from configuration file to get information and comment information of specified posts
|
||||
python main.py --platform xhs --lt qrcode --type detail
|
||||
|
||||
# Open corresponding APP to scan QR code for login
|
||||
|
||||
# For other platform crawler usage examples, execute the following command to view
|
||||
python main.py --help
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
## 💾 Data Storage
|
||||
|
||||
Supports multiple data storage methods:
|
||||
|
||||
- **MySQL Database**: Supports saving to relational database MySQL (need to create database in advance)
|
||||
- Execute `python db.py` to initialize database table structure (only execute on first run)
|
||||
- **CSV Files**: Supports saving to CSV (under `data/` directory)
|
||||
- **JSON Files**: Supports saving to JSON (under `data/` directory)
|
||||
|
||||
---
|
||||
|
||||
[🚀 MediaCrawlerPro Major Release 🚀! More features, better architectural design!](https://github.com/MediaCrawlerPro)
|
||||
|
||||
## 🤝 Community & Support
|
||||
|
||||
### 💬 Discussion Groups
|
||||
- **WeChat Discussion Group**: [Click to join](https://nanmicoder.github.io/MediaCrawler/%E5%BE%AE%E4%BF%A1%E4%BA%A4%E6%B5%81%E7%BE%A4.html)
|
||||
|
||||
### 📚 Documentation & Tutorials
|
||||
- **Online Documentation**: [MediaCrawler Complete Documentation](https://nanmicoder.github.io/MediaCrawler/)
|
||||
- **Crawler Tutorial**: [CrawlerTutorial Free Tutorial](https://github.com/NanmiCoder/CrawlerTutorial)
|
||||
|
||||
|
||||
# Other common questions can be viewed in the online documentation
|
||||
>
|
||||
> The online documentation includes usage methods, common questions, joining project discussion groups, etc.
|
||||
> [MediaCrawler Online Documentation](https://nanmicoder.github.io/MediaCrawler/)
|
||||
>
|
||||
|
||||
# Author's Knowledge Services
|
||||
> If you want to quickly get started and learn the usage of this project, source code architectural design, learn programming technology, or want to understand the source code design of MediaCrawlerPro, you can check out my paid knowledge column.
|
||||
|
||||
[Author's Paid Knowledge Column Introduction](https://nanmicoder.github.io/MediaCrawler/%E7%9F%A5%E8%AF%86%E4%BB%98%E8%B4%B9%E4%BB%8B%E7%BB%8D.html)
|
||||
|
||||
|
||||
---
|
||||
|
||||
## ⭐ Star Trend Chart
|
||||
|
||||
If this project helps you, please give a ⭐ Star to support and let more people see MediaCrawler!
|
||||
|
||||
[](https://star-history.com/#NanmiCoder/MediaCrawler&Date)
|
||||
|
||||
### 💰 Sponsor Display
|
||||
|
||||
<a href="https://www.swiftproxy.net/?ref=nanmi">
|
||||
<img src="docs/static/images/img_5.png">
|
||||
<br>
|
||||
**Swiftproxy** - 90M+ global high-quality pure residential IPs, register to get free 500MB test traffic, dynamic traffic never expires!
|
||||
> Exclusive discount code: **GHB5** Get 10% off instantly!
|
||||
</a>
|
||||
|
||||
<br><br>
|
||||
|
||||
<a href="https://sider.ai/ad-land-redirect?source=github&p1=mi&p2=kk">**Sider** - The hottest ChatGPT plugin on the web, amazing experience!</a>
|
||||
|
||||
### 🤝 Become a Sponsor
|
||||
|
||||
Become a sponsor and showcase your product here, getting massive exposure daily!
|
||||
|
||||
**Contact Information**:
|
||||
- WeChat: `yzglan`
|
||||
- Email: `relakkes@gmail.com`
|
||||
|
||||
|
||||
## 📚 References
|
||||
|
||||
- **Xiaohongshu Client**: [ReaJason's xhs repository](https://github.com/ReaJason/xhs)
|
||||
- **SMS Forwarding**: [SmsForwarder reference repository](https://github.com/pppscn/SmsForwarder)
|
||||
- **Intranet Penetration Tool**: [ngrok official documentation](https://ngrok.com/docs/)
|
||||
|
||||
|
||||
# Disclaimer
|
||||
<div id="disclaimer">
|
||||
|
||||
## 1. Project Purpose and Nature
|
||||
This project (hereinafter referred to as "this project") was created as a technical research and learning tool, aimed at exploring and learning network data collection technologies. This project focuses on research of data crawling technologies for social media platforms, intended to provide learners and researchers with technical exchange purposes.
|
||||
|
||||
## 2. Legal Compliance Statement
|
||||
The project developer (hereinafter referred to as "developer") solemnly reminds users to strictly comply with relevant laws and regulations of the People's Republic of China when downloading, installing and using this project, including but not limited to the "Cybersecurity Law of the People's Republic of China", "Counter-Espionage Law of the People's Republic of China" and all applicable national laws and policies. Users shall bear all legal responsibilities that may arise from using this project.
|
||||
|
||||
## 3. Usage Purpose Restrictions
|
||||
This project is strictly prohibited from being used for any illegal purposes or non-learning, non-research commercial activities. This project may not be used for any form of illegal intrusion into other people's computer systems, nor may it be used for any activities that infringe upon others' intellectual property rights or other legitimate rights and interests. Users should ensure that their use of this project is purely for personal learning and technical research, and may not be used for any form of illegal activities.
|
||||
|
||||
## 4. Disclaimer
|
||||
The developer has made every effort to ensure the legitimacy and security of this project, but assumes no responsibility for any form of direct or indirect losses that may arise from users' use of this project. Including but not limited to any data loss, equipment damage, legal litigation, etc. caused by using this project.
|
||||
|
||||
## 5. Intellectual Property Statement
|
||||
The intellectual property rights of this project belong to the developer. This project is protected by copyright law and international copyright treaties as well as other intellectual property laws and treaties. Users may download and use this project under the premise of complying with this statement and relevant laws and regulations.
|
||||
|
||||
## 6. Final Interpretation Rights
|
||||
The developer has the final interpretation rights regarding this project. The developer reserves the right to change or update this disclaimer at any time without further notice.
|
||||
</div>
|
||||
|
||||
|
||||
## 🙏 Acknowledgments
|
||||
|
||||
### JetBrains Open Source License Support
|
||||
|
||||
Thanks to JetBrains for providing free open source license support for this project!
|
||||
|
||||
<a href="https://www.jetbrains.com/?from=MediaCrawler">
|
||||
<img src="https://www.jetbrains.com/company/brand/img/jetbrains_logo.png" width="100" alt="JetBrains" />
|
||||
</a>
|
||||
306
README_es.md
Normal file
306
README_es.md
Normal file
@@ -0,0 +1,306 @@
|
||||
# 🔥 MediaCrawler - Rastreador de Plataformas de Redes Sociales 🕷️
|
||||
|
||||
## 🌐 Language / 语言 / Idioma
|
||||
|
||||
<div align="center">
|
||||
|
||||
| 🇨🇳 中文 | 🇺🇸 English | 🇪🇸 Español |
|
||||
|---------|----------|----------|
|
||||
| **[中文文档](README.md)** | **[English](README_en.md)** | **[Español](README_es.md)** ← Actual |
|
||||
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
<div align="center">
|
||||
|
||||
<a href="https://trendshift.io/repositories/8291" target="_blank">
|
||||
<img src="https://trendshift.io/api/badge/repositories/8291" alt="NanmiCoder%2FMediaCrawler | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/>
|
||||
</a>
|
||||
|
||||
[](https://github.com/NanmiCoder/MediaCrawler/stargazers)
|
||||
[](https://github.com/NanmiCoder/MediaCrawler/network/members)
|
||||
[](https://github.com/NanmiCoder/MediaCrawler/issues)
|
||||
[](https://github.com/NanmiCoder/MediaCrawler/pulls)
|
||||
[](https://github.com/NanmiCoder/MediaCrawler/blob/main/LICENSE)
|
||||
|
||||
</div>
|
||||
|
||||
> **Descargo de responsabilidad:**
|
||||
>
|
||||
> Por favor, utilice este repositorio únicamente con fines de aprendizaje ⚠️⚠️⚠️⚠️, [Casos ilegales de web scraping](https://github.com/HiddenStrawberry/Crawler_Illegal_Cases_In_China) <br>
|
||||
>
|
||||
>Todo el contenido de este repositorio es únicamente para fines de aprendizaje y referencia, y está prohibido el uso comercial. Ninguna persona u organización puede usar el contenido de este repositorio para propósitos ilegales o infringir los derechos e intereses legítimos de otros. La tecnología de web scraping involucrada en este repositorio es solo para aprendizaje e investigación, y no puede ser utilizada para rastreo a gran escala de otras plataformas u otras actividades ilegales. Este repositorio no asume ninguna responsabilidad legal por cualquier responsabilidad legal que surja del uso del contenido de este repositorio. Al usar el contenido de este repositorio, usted acepta todos los términos y condiciones de este descargo de responsabilidad.
|
||||
>
|
||||
> Haga clic para ver un descargo de responsabilidad más detallado. [Haga clic para saltar](#disclaimer)
|
||||
|
||||
## 📖 Introducción del Proyecto
|
||||
|
||||
Una poderosa **herramienta de recolección de datos de redes sociales multiplataforma** que soporta el rastreo de información pública de plataformas principales incluyendo Xiaohongshu, Douyin, Kuaishou, Bilibili, Weibo, Tieba, Zhihu, y más.
|
||||
|
||||
### 🔧 Principios Técnicos
|
||||
|
||||
- **Tecnología Central**: Basado en el framework de automatización de navegador [Playwright](https://playwright.dev/) para login y mantenimiento del estado de login
|
||||
- **No Requiere Ingeniería Inversa de JS**: Utiliza el entorno de contexto del navegador con estado de login preservado para obtener parámetros de firma a través de expresiones JS
|
||||
- **Ventajas**: No necesita hacer ingeniería inversa de algoritmos de encriptación complejos, reduciendo significativamente la barrera técnica
|
||||
|
||||
## ✨ Características
|
||||
| Plataforma | Búsqueda por Palabras Clave | Rastreo de ID de Publicación Específica | Comentarios Secundarios | Página de Inicio de Creador Específico | Caché de Estado de Login | Pool de Proxy IP | Generar Nube de Palabras de Comentarios |
|
||||
| ------ | ---------- | -------------- | -------- | -------------- | ---------- | -------- | -------------- |
|
||||
| Xiaohongshu | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| Douyin | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| Kuaishou | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| Bilibili | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| Weibo | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| Tieba | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| Zhihu | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
|
||||
|
||||
<details id="pro-version">
|
||||
<summary>🔗 <strong>🚀 ¡Lanzamiento Mayor de MediaCrawlerPro! ¡Más características, mejor diseño arquitectónico!</strong></summary>
|
||||
|
||||
### 🚀 ¡Lanzamiento Mayor de MediaCrawlerPro!
|
||||
|
||||
> Enfócate en aprender el diseño arquitectónico de proyectos maduros, no solo tecnología de rastreo. ¡La filosofía de diseño de código de la versión Pro también vale la pena estudiar en profundidad!
|
||||
|
||||
[MediaCrawlerPro](https://github.com/MediaCrawlerPro) ventajas principales sobre la versión de código abierto:
|
||||
|
||||
#### 🎯 Actualizaciones de Características Principales
|
||||
- ✅ **Funcionalidad de reanudación de rastreo** (Característica clave)
|
||||
- ✅ **Soporte de múltiples cuentas + pool de proxy IP** (Característica clave)
|
||||
- ✅ **Eliminar dependencia de Playwright**, más fácil de usar
|
||||
- ✅ **Soporte completo de entorno Linux**
|
||||
|
||||
#### 🏗️ Optimización de Diseño Arquitectónico
|
||||
- ✅ **Optimización de refactorización de código**, más legible y mantenible (lógica de firma JS desacoplada)
|
||||
- ✅ **Calidad de código de nivel empresarial**, adecuado para construir proyectos de rastreo a gran escala
|
||||
- ✅ **Diseño arquitectónico perfecto**, alta escalabilidad, mayor valor de aprendizaje del código fuente
|
||||
|
||||
#### 🎁 Características Adicionales
|
||||
- ✅ **Aplicación de escritorio descargadora de videos de redes sociales** (adecuada para aprender desarrollo full-stack)
|
||||
- ✅ **Recomendaciones de feed de página de inicio multiplataforma** (HomeFeed)
|
||||
- [ ] **Agente AI basado en plataformas de redes sociales está en desarrollo 🚀🚀**
|
||||
|
||||
Haga clic para ver: [Página de Inicio del Proyecto MediaCrawlerPro](https://github.com/MediaCrawlerPro) para más información
|
||||
</details>
|
||||
|
||||
## 🚀 Inicio Rápido
|
||||
|
||||
> 💡 **¡El código abierto no es fácil, si este proyecto te ayuda, por favor da una ⭐ Estrella para apoyar!**
|
||||
|
||||
## 📋 Prerrequisitos
|
||||
|
||||
### 🚀 Instalación de uv (Recomendado)
|
||||
|
||||
Antes de proceder con los siguientes pasos, por favor asegúrese de que uv esté instalado en su computadora:
|
||||
|
||||
- **Guía de Instalación**: [Guía Oficial de Instalación de uv](https://docs.astral.sh/uv/getting-started/installation)
|
||||
- **Verificar Instalación**: Ingrese el comando `uv --version` en la terminal. Si el número de versión se muestra normalmente, la instalación fue exitosa
|
||||
- **Razón de Recomendación**: uv es actualmente la herramienta de gestión de paquetes Python más poderosa, con velocidad rápida y resolución de dependencias precisa
|
||||
|
||||
### 🟢 Instalación de Node.js
|
||||
|
||||
El proyecto depende de Node.js, por favor descargue e instale desde el sitio web oficial:
|
||||
|
||||
- **Enlace de Descarga**: https://nodejs.org/en/download/
|
||||
- **Requisito de Versión**: >= 16.0.0
|
||||
|
||||
### 📦 Instalación de Paquetes Python
|
||||
|
||||
```shell
|
||||
# Entrar al directorio del proyecto
|
||||
cd MediaCrawler
|
||||
|
||||
# Usar el comando uv sync para asegurar la consistencia de la versión de python y paquetes de dependencias relacionados
|
||||
uv sync
|
||||
```
|
||||
|
||||
### 🌐 Instalación de Controlador de Navegador
|
||||
|
||||
```shell
|
||||
# Instalar controlador de navegador
|
||||
uv run playwright install
|
||||
```
|
||||
|
||||
> **💡 Consejo**: MediaCrawler ahora soporta usar playwright para conectarse a su navegador Chrome local, resolviendo algunos problemas causados por Webdriver.
|
||||
>
|
||||
> Actualmente, `xhs` y `dy` están disponibles usando el modo CDP para conectarse a navegadores locales. Si es necesario, verifique los elementos de configuración en `config/base_config.py`.
|
||||
|
||||
## 🚀 Ejecutar Programa Rastreador
|
||||
|
||||
```shell
|
||||
# El proyecto no habilita el modo de rastreo de comentarios por defecto. Si necesita comentarios, por favor modifique la variable ENABLE_GET_COMMENTS en config/base_config.py
|
||||
# Otras opciones soportadas también pueden verse en config/base_config.py con comentarios en chino
|
||||
|
||||
# Leer palabras clave del archivo de configuración para buscar publicaciones relacionadas y rastrear información de publicaciones y comentarios
|
||||
uv run main.py --platform xhs --lt qrcode --type search
|
||||
|
||||
# Leer lista de ID de publicaciones específicas del archivo de configuración para obtener información e información de comentarios de publicaciones específicas
|
||||
uv run main.py --platform xhs --lt qrcode --type detail
|
||||
|
||||
# Abrir la APP correspondiente para escanear código QR para login
|
||||
|
||||
# Para ejemplos de uso de rastreador de otras plataformas, ejecute el siguiente comando para ver
|
||||
uv run main.py --help
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary>🔗 <strong>Usando gestión de entorno venv nativo de Python (No recomendado)</strong></summary>
|
||||
|
||||
#### Crear y activar entorno virtual de Python
|
||||
|
||||
> Si rastrea Douyin y Zhihu, necesita instalar el entorno nodejs con anticipación, versión mayor o igual a: `16`
|
||||
|
||||
```shell
|
||||
# Entrar al directorio raíz del proyecto
|
||||
cd MediaCrawler
|
||||
|
||||
# Crear entorno virtual
|
||||
# Mi versión de python es: 3.9.6, las librerías en requirements.txt están basadas en esta versión
|
||||
# Si usa otras versiones de python, las librerías en requirements.txt pueden no ser compatibles, por favor resuelva por su cuenta
|
||||
python -m venv venv
|
||||
|
||||
# macOS & Linux activar entorno virtual
|
||||
source venv/bin/activate
|
||||
|
||||
# Windows activar entorno virtual
|
||||
venv\Scripts\activate
|
||||
```
|
||||
|
||||
#### Instalar librerías de dependencias
|
||||
|
||||
```shell
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
#### Instalar controlador de navegador playwright
|
||||
|
||||
```shell
|
||||
playwright install
|
||||
```
|
||||
|
||||
#### Ejecutar programa rastreador (entorno nativo)
|
||||
|
||||
```shell
|
||||
# El proyecto no habilita el modo de rastreo de comentarios por defecto. Si necesita comentarios, por favor modifique la variable ENABLE_GET_COMMENTS en config/base_config.py
|
||||
# Otras opciones soportadas también pueden verse en config/base_config.py con comentarios en chino
|
||||
|
||||
# Leer palabras clave del archivo de configuración para buscar publicaciones relacionadas y rastrear información de publicaciones y comentarios
|
||||
python main.py --platform xhs --lt qrcode --type search
|
||||
|
||||
# Leer lista de ID de publicaciones específicas del archivo de configuración para obtener información e información de comentarios de publicaciones específicas
|
||||
python main.py --platform xhs --lt qrcode --type detail
|
||||
|
||||
# Abrir la APP correspondiente para escanear código QR para login
|
||||
|
||||
# Para ejemplos de uso de rastreador de otras plataformas, ejecute el siguiente comando para ver
|
||||
python main.py --help
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
## 💾 Almacenamiento de Datos
|
||||
|
||||
Soporta múltiples métodos de almacenamiento de datos:
|
||||
|
||||
- **Base de Datos MySQL**: Soporta guardar en base de datos relacional MySQL (necesita crear base de datos con anticipación)
|
||||
- Ejecute `python db.py` para inicializar la estructura de tablas de la base de datos (solo ejecutar en la primera ejecución)
|
||||
- **Archivos CSV**: Soporta guardar en CSV (bajo el directorio `data/`)
|
||||
- **Archivos JSON**: Soporta guardar en JSON (bajo el directorio `data/`)
|
||||
|
||||
---
|
||||
|
||||
[🚀 ¡Lanzamiento Mayor de MediaCrawlerPro 🚀! ¡Más características, mejor diseño arquitectónico!](https://github.com/MediaCrawlerPro)
|
||||
|
||||
## 🤝 Comunidad y Soporte
|
||||
|
||||
### 💬 Grupos de Discusión
|
||||
- **Grupo de Discusión WeChat**: [Haga clic para unirse](https://nanmicoder.github.io/MediaCrawler/%E5%BE%AE%E4%BF%A1%E4%BA%A4%E6%B5%81%E7%BE%A4.html)
|
||||
|
||||
### 📚 Documentación y Tutoriales
|
||||
- **Documentación en Línea**: [Documentación Completa de MediaCrawler](https://nanmicoder.github.io/MediaCrawler/)
|
||||
- **Tutorial de Rastreador**: [Tutorial Gratuito CrawlerTutorial](https://github.com/NanmiCoder/CrawlerTutorial)
|
||||
|
||||
|
||||
# Otras preguntas comunes pueden verse en la documentación en línea
|
||||
>
|
||||
> La documentación en línea incluye métodos de uso, preguntas comunes, unirse a grupos de discusión del proyecto, etc.
|
||||
> [Documentación en Línea de MediaCrawler](https://nanmicoder.github.io/MediaCrawler/)
|
||||
>
|
||||
|
||||
# Servicios de Conocimiento del Autor
|
||||
> Si quiere comenzar rápidamente y aprender el uso de este proyecto, diseño arquitectónico del código fuente, aprender tecnología de programación, o quiere entender el diseño del código fuente de MediaCrawlerPro, puede revisar mi columna de conocimiento pagado.
|
||||
|
||||
[Introducción de la Columna de Conocimiento Pagado del Autor](https://nanmicoder.github.io/MediaCrawler/%E7%9F%A5%E8%AF%86%E4%BB%98%E8%B4%B9%E4%BB%8B%E7%BB%8D.html)
|
||||
|
||||
|
||||
---
|
||||
|
||||
## ⭐ Gráfico de Tendencia de Estrellas
|
||||
|
||||
¡Si este proyecto te ayuda, por favor da una ⭐ Estrella para apoyar y que más personas vean MediaCrawler!
|
||||
|
||||
[](https://star-history.com/#NanmiCoder/MediaCrawler&Date)
|
||||
|
||||
### 💰 Exhibición de Patrocinadores
|
||||
|
||||
<a href="https://www.swiftproxy.net/?ref=nanmi">
|
||||
<img src="docs/static/images/img_5.png">
|
||||
<br>
|
||||
**Swiftproxy** - ¡90M+ IPs residenciales puras de alta calidad globales, regístrese para obtener 500MB de tráfico de prueba gratuito, el tráfico dinámico nunca expira!
|
||||
> Código de descuento exclusivo: **GHB5** ¡Obtenga 10% de descuento instantáneamente!
|
||||
</a>
|
||||
|
||||
<br><br>
|
||||
|
||||
<a href="https://sider.ai/ad-land-redirect?source=github&p1=mi&p2=kk">**Sider** - ¡El plugin de ChatGPT más popular en la web, experiencia increíble!</a>
|
||||
|
||||
### 🤝 Conviértase en Patrocinador
|
||||
|
||||
¡Conviértase en patrocinador y muestre su producto aquí, obteniendo exposición masiva diariamente!
|
||||
|
||||
**Información de Contacto**:
|
||||
- WeChat: `yzglan`
|
||||
- Email: `relakkes@gmail.com`
|
||||
|
||||
|
||||
## 📚 Referencias
|
||||
|
||||
- **Cliente Xiaohongshu**: [Repositorio xhs de ReaJason](https://github.com/ReaJason/xhs)
|
||||
- **Reenvío de SMS**: [Repositorio de referencia SmsForwarder](https://github.com/pppscn/SmsForwarder)
|
||||
- **Herramienta de Penetración de Intranet**: [Documentación oficial de ngrok](https://ngrok.com/docs/)
|
||||
|
||||
|
||||
# Descargo de Responsabilidad
|
||||
<div id="disclaimer">
|
||||
|
||||
## 1. Propósito y Naturaleza del Proyecto
|
||||
Este proyecto (en adelante denominado "este proyecto") fue creado como una herramienta de investigación técnica y aprendizaje, con el objetivo de explorar y aprender tecnologías de recolección de datos de red. Este proyecto se enfoca en la investigación de tecnologías de rastreo de datos para plataformas de redes sociales, destinado a proporcionar a estudiantes e investigadores propósitos de intercambio técnico.
|
||||
|
||||
## 2. Declaración de Cumplimiento Legal
|
||||
El desarrollador del proyecto (en adelante denominado "desarrollador") recuerda solemnemente a los usuarios que cumplan estrictamente con las leyes y regulaciones relevantes de la República Popular China al descargar, instalar y usar este proyecto, incluyendo pero no limitado a la "Ley de Ciberseguridad de la República Popular China", "Ley de Contraespionaje de la República Popular China" y todas las leyes y políticas nacionales aplicables. Los usuarios deberán asumir todas las responsabilidades legales que puedan surgir del uso de este proyecto.
|
||||
|
||||
## 3. Restricciones de Propósito de Uso
|
||||
Este proyecto está estrictamente prohibido de ser utilizado para cualquier propósito ilegal o actividades comerciales que no sean de aprendizaje o investigación. Este proyecto no puede ser utilizado para ninguna forma de intrusión ilegal en sistemas informáticos de otras personas, ni puede ser utilizado para cualquier actividad que infrinja los derechos de propiedad intelectual de otros u otros derechos e intereses legítimos. Los usuarios deben asegurar que su uso de este proyecto sea puramente para aprendizaje personal e investigación técnica, y no puede ser utilizado para ninguna forma de actividades ilegales.
|
||||
|
||||
## 4. Descargo de Responsabilidad
|
||||
El desarrollador ha hecho todos los esfuerzos para asegurar la legitimidad y seguridad de este proyecto, pero no asume responsabilidad por ninguna forma de pérdidas directas o indirectas que puedan surgir del uso de este proyecto por parte de los usuarios. Incluyendo pero no limitado a cualquier pérdida de datos, daño de equipos, litigios legales, etc. causados por el uso de este proyecto.
|
||||
|
||||
## 5. Declaración de Propiedad Intelectual
|
||||
Los derechos de propiedad intelectual de este proyecto pertenecen al desarrollador. Este proyecto está protegido por la ley de derechos de autor y tratados internacionales de derechos de autor, así como otras leyes y tratados de propiedad intelectual. Los usuarios pueden descargar y usar este proyecto bajo la premisa de cumplir con esta declaración y las leyes y regulaciones relevantes.
|
||||
|
||||
## 6. Derechos de Interpretación Final
|
||||
El desarrollador tiene los derechos de interpretación final con respecto a este proyecto. El desarrollador se reserva el derecho de cambiar o actualizar este descargo de responsabilidad en cualquier momento sin previo aviso.
|
||||
</div>
|
||||
|
||||
|
||||
## 🙏 Agradecimientos
|
||||
|
||||
### Soporte de Licencia de Código Abierto de JetBrains
|
||||
|
||||
¡Gracias a JetBrains por proporcionar soporte de licencia de código abierto gratuito para este proyecto!
|
||||
|
||||
<a href="https://www.jetbrains.com/?from=MediaCrawler">
|
||||
<img src="https://www.jetbrains.com/company/brand/img/jetbrains_logo.png" width="100" alt="JetBrains" />
|
||||
</a>
|
||||
Reference in New Issue
Block a user