Home
Login

MediaCrawler é uma ferramenta poderosa de rastreamento de mídia social multiplataforma.

NOASSERTIONPython 23.7kNanmiCoder Last Updated: 2025-06-20

MediaCrawler - Ferramenta de Web Scraping de Mídia Social Multiplataforma

Visão Geral do Projeto

MediaCrawler é uma poderosa ferramenta de web scraping de mídia social multiplataforma, desenvolvida e mantida por NanmiCoder. Este projeto é baseado na tecnologia Playwright e é capaz de coletar informações públicas de várias plataformas de mídia social populares, incluindo conteúdo, comentários e outros dados.

Arquitetura Técnica

Tecnologias Principais

  • Playwright: Como um framework de automação de navegador, mantém o ambiente do navegador com o estado de login preservado.
  • Python: Linguagem de desenvolvimento principal, versão 3.9.6+.
  • Execução de JavaScript: Obtém parâmetros criptografados executando expressões JS.
  • Node.js: Versão 16+.

Como Funciona

O projeto adota uma abordagem de "ponte" com o Playwright, mantendo o ambiente do navegador com o contexto de login bem-sucedido. Ele obtém alguns parâmetros criptografados executando expressões JavaScript. Essa abordagem evita o complexo trabalho de reproduzir o código JS de criptografia central, reduzindo significativamente a dificuldade de engenharia reversa.

Requisitos de Ambiente

Requisitos de Sistema

  • Python 3.9.6+
  • Node.js 16+

Gerenciamento de Dependências

O projeto adicionou uv para gerenciar as dependências do projeto. Você pode usar o uv para substituir o pip tradicional para instalar dependências, o que é mais conveniente e rápido.

Instalação e Implantação

Etapas Básicas de Instalação

# Entrar no diretório raiz do projeto
cd MediaCrawler

# Criar ambiente virtual
python -m venv venv

# Ativar ambiente virtual
# macOS & Linux
source venv/bin/activate
# Windows
venv\Scripts\activate

# Instalar dependências
pip install -r requirements.txt

# Instalar o navegador Playwright
playwright install

Inicialização do Banco de Dados (Opcional)

# Executar a inicialização do banco de dados (apenas na primeira execução)
python db.py

Como Usar

Comandos Básicos

# Web scraping de pesquisa por palavra-chave
python main.py --platform xhs --lt qrcode --type search

# Web scraping de ID de postagem especificado
python main.py --platform xhs --lt qrcode --type detail

# Ver informações de ajuda
python main.py --help

Descrição da Configuração

  • O projeto não ativa o modo de web scraping de comentários por padrão.
  • Se precisar coletar comentários, modifique a variável ENABLE_GET_COMMENTS em config/base_config.py.
  • Outras configurações de função também podem ser visualizadas em config/base_config.py, todas com explicações em chinês.

Armazenamento de Dados

Métodos de Armazenamento Suportados

  1. Banco de Dados MySQL: Suporta armazenamento em banco de dados relacional (é necessário criar o banco de dados antecipadamente).
  2. Arquivo CSV: Salva em um arquivo no formato CSV no diretório data/.
  3. Arquivo JSON: Salva em um arquivo no formato JSON no diretório data/.

Vantagens da Versão Pro

O projeto também oferece a versão MediaCrawlerPro, que tem as seguintes vantagens em relação à versão de código aberto:

  • Suporte a múltiplas contas + proxy IP (recurso principal)
  • Remoção da dependência do Playwright, tornando o uso mais simples
  • Suporte ao uso em ambiente Linux
  • Refatoração e otimização do código, mais fácil de ler e manter
  • Desacoplamento da lógica de assinatura JS, maior qualidade do código
  • Design de arquitetura perfeito, mais fácil de expandir
  • Novo software de desktop para download de vídeos de mídia social
  • Suporte para recomendação de feed de notícias da página inicial de múltiplas plataformas (HomeFeed)

Declaração Legal

Isenção de Responsabilidade

  • Este projeto é apenas para fins de aprendizado e pesquisa e está proibido de ser usado para fins comerciais.
  • É estritamente proibido para fins ilegais ou para infringir os direitos e interesses legítimos de outros.
  • Os usuários devem cumprir as leis e regulamentos relevantes e arcar com a responsabilidade legal.
  • Os desenvolvedores não são responsáveis por quaisquer responsabilidades legais causadas pelo uso deste projeto.

Valor do Projeto

MediaCrawler não é apenas uma ferramenta de web scraping, mas também um excelente projeto de aprendizado:

  1. Aprendizado de design de arquitetura: O design da arquitetura do projeto é maduro e vale a pena aprender e emular.
  2. Prática técnica: Abrange a aplicação abrangente de várias pilhas de tecnologia.
  3. Pensamento de engenharia: Prática completa de engenharia desde a organização do código até a implantação.
  4. Tecnologia anti-web scraping: Aprenda sobre soluções para lidar com tecnologias modernas de anti-web scraping.