Este projeto tem como objetivo extrair dados da B3 (Bolsa de Valores do Brasil) por meio de web scraping.
-
Extração de Dados: Coleta informações atualizadas sobre ações e índices da B3.
-
Tratamento de Dados: Processa os dados extraídos, limpando e formatando para facilitar a análise.
-
Armazenamento: Salva os dados em formatos como CSV e TXT para posterior análise.
-
Disponibilidade: Disponibiliza os dados para serem acessados em formato de API.
Copie e cole as funções do arquivo /github_api_acess.ipynb em seu projeto para acessar os dados extraídos.
- Clone o repositório:
git clone https://github.com/rianlucascs/b3-scraping-project.git
- Navegue até o diretório do projeto:
cd b3-scraping-project
- Instale as dependências:
pip install -r requirements.txt
- Execute os scripts:
python extract_composicao_da_carteira_indices_setoriais.py python extract_informacoes_dos_indices.py python transform_data_composicao_da_carteira_indices_setoriais.py python extract_horario_de_negociacao.py python transform_horario_de_negociacao.py
-
Descrição: Coleta informações sobre diferentes índices do mercado Saiba mais.
-
Dados extraidos:
-
Códigos da Carteira: Lista de códigos das ações que compõem o índice.
-
Texto de Apresentação: Breve descrição sobre o índice, incluindo sua finalidade e características.
-
Arquivo CSV: Contém: Código do ativo, Ação, Tipo, Quantidade teorica, Participação (%)
-
-
Acesso aos dados:
import requests from pandas import read_csv from io import StringIO def get_tabela_setor(indice: str): url = f'https://raw.githubusercontent.com/rianlucascs/b3-scraping-project/master/processed_data/1.%20%C3%8Dndices%20de%20Segmentos%20e%20Setoriais/Setores/{indice}/Tabela_{indice}.csv' try: response = requests.get(url) except requests.exceptions.RequestException as e: raise ValueError(f'Erro ao acessar a página: {e}') return read_csv(StringIO(response.text), delimiter=',')
-
Descrição: Extrai a tabela com os horários de negociação das ações na B3 Saiba mais.
-
Dados extraidos:
- Arquivo CSV: Inclui horários de abertura e fechamento do mercado, diferenciando entre tipos de mercado (à vista, opções, etc.).
-
Acesso aos dados:
import requests from pandas import read_csv from io import StringIO def get_tabela_horario(): url = f'https://raw.githubusercontent.com/rianlucascs/b3-scraping-project/master/processed_data/2.%20Hor%C3%A1rio%20de%20negocia%C3%A7%C3%A3o/Tabela_horarios_de_negociacao_no_mercado_de_acoes.csv' try: response = requests.get(url) except requests.exceptions.RequestException as e: raise ValueError(f'Erro ao acessar a página: {e}') return read_csv(StringIO(response.text), delimiter=',')
-
Descrição: Extrai informações sobre todas as ações listadas na B3 Saiba mais.
-
Dados extraidos:
- Arquivo CSV: Inclui: Código do ativo, Nome do pregão, Código de negociação, CNPJ, Atividade principal, Classificação setorial, Escriturador
-
Acesso aos dados:
import requests from pandas import read_csv from io import StringIO def get_tabela_empresas_listadas(): url = 'https://raw.githubusercontent.com/rianlucascs/b3-scraping-project/master/processed_data/3.%20Empresas%20listadas/todas_empresas_listadas.csv' try: response = requests.get(url) except requests.exceptions.RequestException as e: raise ValueError(f'Erro ao acessar a página: {e}') return read_csv(StringIO(response.text), delimiter=';')
Estou à disposição para esclarecer dúvidas ou fornecer mais informações. Você pode entrar em contato através das seguintes opções:
- LinkedIn: Visite meu perfil no LinkedIn
- GitHub: Explore meu repositório no GitHub
- Celular: +55 (61) 996437950
Fico sempre aberto a colaborações e oportunidades de networking!