Skip to content

sammarxz/amazon-scraper

Repository files navigation

🛒 Amazon Scraper

📁 Estrutura de Arquivos

amazon-scraper/
├── tests/                   # 📁 PASTA DEDICADA DE TESTES
│   ├── __init__.py          # Configuração do pacote
│   ├── conftest.py          # Fixtures do PyTest
│   ├── test_models.py       # Testes dos modelos
│   ├── test_extractors.py   # Testes dos extratores
│   ├── test_utils.py        # Testes dos utilitários
│   ├── test_scraper.py      # Testes do scraper
│   ├── test_config.py       # Testes das configurações
│   └── test_integration.py  # Testes de integração
├── main.py                 # Ponto de entrada principal
├── cli.py                  # Interface de linha de comando
├── scraper.py              # Classe principal do scraper
├── models.py               # Classes de dados (ProductInfo, Review, etc.)
├── extractors.py           # Extratores de dados das páginas
├── utils.py                # Utilitários e gerenciamento de arquivos
├── config.py               # Configurações centralizadas
├── requirements.txt        # Dependências
├── README.md              # Documentação
└── amazon_data/           # Diretório de dados (criado automaticamente)
    ├── *.json             # Arquivos de dados
    └── *.csv              # Arquivos CSV

🏗️ Arquitetura

models.py - Modelos de Dados

  • Review: Classe para informações de reviews
  • ProductInfo: Classe para informações de produtos
  • ScrapingResult: Resultado completo do scraping

extractors.py - Extratores

  • ProductExtractor: Extrai informações de produtos das páginas de busca
  • ReviewExtractor: Extrai reviews das páginas de produtos

scraper.py - Scraper Principal

  • AmazonScraper: Classe principal que orquestra todo o processo
  • Gerencia sessões HTTP, delays, e coordena os extratores

utils.py - Utilitários

  • FileManager: Gerencia salvamento de arquivos JSON/CSV
  • Logger: Configuração de logging
  • StatsCalculator: Calcula estatísticas dos resultados

cli.py - Interface

  • CLI: Interface de linha de comando interativa
  • Menus, validação de entrada, exibição de resultados

config.py - Configurações

  • Config: Configurações estáticas (URLs, seletores CSS, etc.)
  • UserConfig: Configurações personalizáveis

🚀 Como Usar

Instalação

pip install -r requirements.txt

Execução

python main.py

About

Amazon offline product scraper

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages