Skip to main content

No project description provided

Project description

# Benchmark Indexes - Web Scraper Framework

## Descrição
Este projeto é um framework modular para a captura, processamento e análise de dados históricos de índices de mercado, como IBOVESPA, CDI, entre outros. Ele é projetado para ser flexível, permitindo a adição de novos índices e fontes de dados com facilidade.

---

## Estrutura do Projeto
```plaintext
benchmark_indexes/
├── data/ # Diretório para armazenamento de dados
│ ├── bronze/ # Dados brutos extraídos
│ ├── silver/ # Dados intermediários
│ ├── gold/ # Dados tratados
├── indexes/ # Módulos de captura de índices
│ ├── ibov/ # Módulo para o índice IBOVESPA
│ ├── cdi/ # Módulo para o índice CDI
│ ├── index_config.json # Configurações globais de índices
├── notebooks/ # Notebooks para análise e exploração
│ ├── análise_indices.ipynb # Análises gerais dos índices
├── LICENSE # Licença do projeto
├── README.md # Documentação do projeto
```

---

## Funcionalidades
- **Scraping Modular**:
- Captura de dados de múltiplos índices de mercado (IBOV, CDI, etc.).
- Configuração automatizada do WebDriver com `webdriver_manager`.

- **Transformação e Análise de Dados**:
- Processamento de dados para análise (ETL).
- Estrutura flexível para armazenamento em níveis (bronze, silver, gold).

- **Exploração com Jupyter Notebooks**:
- Notebooks para análise interativa e geração de insights.

---

## Requisitos
- **Python 3.8+**
- **Bibliotecas**:
- `selenium`
- `webdriver_manager`
- `pandas`
- `numpy`
- `matplotlib`

Instale as dependências com:
```bash
pip install -r requirements.txt
```

---

## Uso
### **Executando o Scraper para um Índice**
1. Configure o módulo correspondente ao índice desejado (ex.: `ibov/ibov_config.json`).
2. Execute o scraper:
```bash
python indexes/ibov/IbovWebScrapperB3.py
```

### **Análise no Jupyter Notebook**
1. Navegue até o diretório `notebooks`.
2. Abra o notebook de análise no Jupyter:
```bash
jupyter notebook análise_indices.ipynb
```

### **Logs**
Os logs do sistema são gerenciados pelo `LoggerUtil`. Você pode personalizar os níveis e locais de armazenamento no código:
```python
logger = LoggerUtil.get_logger("IndexLogger")
logger.info("Este é um log de exemplo.")
```

---

## Arquitetura do Framework
O projeto segue o padrão **ETL (Extract, Transform, Load)**:
1. **Extract**:
- Captura de dados brutos das fontes configuradas (web scraping, APIs, etc.).
2. **Transform**:
- Processamento e padronização dos dados para análise.
3. **Load**:
- Armazenamento dos dados tratados em níveis específicos (bronze, silver, gold).

### Configuração do WebDriver
A configuração do WebDriver é gerenciada pelo `WebDriverUtil`, com suporte para:
- Cache de drivers para evitar downloads desnecessários.
- Logs detalhados para rastreamento de erros.

### Adicionando um Novo Índice
1. Crie um diretório para o índice em `indexes/`.
2. Adicione um arquivo de configuração JSON para o índice:
```json
{
"module": "CdiApiWrapper",
"description": "Módulo para captura de dados do CDI via API do BACEN.",
"version": "1.0.0",
"author": "Seu Nome",
"indexData": {
"indexName": "CDI",
"indexSource": "BACEN",
"indexSourceReference": "https://bacen.gov.br",
"indexDocumentation": "https://bacen.gov.br/docs"
}
}
```
3. Implemente o scraper utilizando as classes utilitárias disponíveis.

---

## Contribuindo
Contribuições são bem-vindas! Por favor:
1. Faça um fork deste repositório.
2. Crie um branch para sua feature:
```bash
git checkout -b minha-feature
```
3. Envie suas alterações via pull request.

---

## Licença
Este projeto é licenciado sob a [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International](LICENSE).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

data_market_index_fetcher-1.1.1.tar.gz (16.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

data_market_index_fetcher-1.1.1-py3-none-any.whl (18.9 kB view details)

Uploaded Python 3

File details

Details for the file data_market_index_fetcher-1.1.1.tar.gz.

File metadata

  • Download URL: data_market_index_fetcher-1.1.1.tar.gz
  • Upload date:
  • Size: 16.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.5 CPython/3.10.0 Windows/10

File hashes

Hashes for data_market_index_fetcher-1.1.1.tar.gz
Algorithm Hash digest
SHA256 31e73d5afd8515a005c236a1e4472fac15c17bc2f3406fbfa0738f9cdcab9865
MD5 1d779069a7c0cc61838b7eb341ac0b44
BLAKE2b-256 ed24ee3b9d2c896d1dc4f247980d6ceabf4ba9cc04342a7396d8361f035108de

See more details on using hashes here.

File details

Details for the file data_market_index_fetcher-1.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for data_market_index_fetcher-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ba5bed61e2d88315cb6ebc065cb114288af34e33b3f1e51d90cb2324c25c85b9
MD5 7eb344fdce3ec1e6746f786ed4a677fd
BLAKE2b-256 f0d3880ec7e22313ad4e9be94cd5fd4c30f606c0ed27d27eea41d864978372f1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page