Skip to content

Este repositório contém o b3-scraping-project, uma ferramenta de web scraping projetada para extrair e processar dados da B3 (Bolsa de Valores do Brasil).

License

Notifications You must be signed in to change notification settings

rianlucascs/b3-scraping-project

Repository files navigation

Texto alternativo

B3 SCRAPING PROJECT

Descrição

Este projeto tem como objetivo extrair dados da B3 (Bolsa de Valores do Brasil) por meio de web scraping.

Funcionalidades

  • 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.

Como Usar

Acesso aos dados

Copie e cole as funções do arquivo /github_api_acess.ipynb em seu projeto para acessar os dados extraídos.

Instalação do Projeto

  1. Clone o repositório:
    git clone https://github.com/rianlucascs/b3-scraping-project.git
    
  2. Navegue até o diretório do projeto:
    cd b3-scraping-project
    
  3. Instale as dependências:
    pip install -r requirements.txt
    
  4. 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
    

Dados Disponíveis

1. Índices de Segmentos e Setoriais

  • 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=',')

2. Horário de Negociação

  • 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=',')

3. Empresas Listadas (Renda variável)

  • 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=';')

Contato

Estou à disposição para esclarecer dúvidas ou fornecer mais informações. Você pode entrar em contato através das seguintes opções:

Fico sempre aberto a colaborações e oportunidades de networking!

About

Este repositório contém o b3-scraping-project, uma ferramenta de web scraping projetada para extrair e processar dados da B3 (Bolsa de Valores do Brasil).

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published