Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Yahoo Finance Crawler

Este projeto é um crawler desenvolvido em Python para extrair dados do Yahoo Finance, utilizando Selenium para navegação e BeautifulSoup para parsing de HTML.

📋 Pré-requisitos

Para executar este projeto, você precisará ter instalado:

  • Python 3.13+
  • Poetry (Gerenciador de dependências)

🚀 Instalação

  1. Clone o repositório:

    git clone https://github.com/buguno/crawler.git
    cd crawler
  2. Instale as dependências do projeto utilizando o Poetry:

    poetry install
  3. Configure as variáveis de ambiente:

    Crie um arquivo .env na raiz do projeto com base no arquivo de exemplo (.env.example).

    cp .env.example .env

    Certifique-se de que a variável BASE_URL está definida corretamente no arquivo .env.

💻 Como Rodar

Existem duas formas principais de rodar a aplicação: ativando o shell do Poetry ou utilizando os comandos configurados via taskipy.

Opção 1: Via Shell do Poetry (Recomendado para uso manual)

  1. Ative o ambiente virtual do Poetry:

    poetry shell
  2. Execute a aplicação:

    task crawler

Flags Disponíveis

Você pode customizar a execução utilizando as seguintes flags:

  • --region: Define a região para filtrar os dados (Padrão: "Brazil").
  • --show-browser: Abre o navegador visualmente (desativa o modo headless). Útil para debugging.

Exemplos:

Rodar para a região "United Kingdom":

task crawler --region "United Kingdom"

Rodar visualizando o navegador (não headless):

task crawler --show-browser

Combinando flags:

task crawler --region "Argentina" --show-browser

Opção 2: Via Taskipy (Atalhos)

O projeto possui atalhos configurados no pyproject.toml para facilitar o uso.

🧪 Testes

Para garantir que tudo está funcionando corretamente, você pode rodar a suíte de testes.

  1. Execute os testes com cobertura:

    poetry run task test

    Ou, se já estiver no shell (poetry shell):

    task test

    Este comando executará o pytest com configurações de verbosidade e cobertura de código.

  2. Para ver o relatório de cobertura HTML (após rodar os testes):

    poetry run task post_test

🛠 Comandos de Desenvolvimento

Além de rodar e testar, existem comandos úteis para manter a qualidade do código:

  • Lint (verificação):

    task lint
  • Formatação (automática):

    task format

About

Este projeto é um crawler desenvolvido em Python para extrair dados do Yahoo Finance, utilizando Selenium para navegação e BeautifulSoup para parsing de HTML.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages