Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Busca restringida de dados online

url = 'https://br.financas.yahoo.com/quote/VALE3.SA/history?p=VALE3.SA' # Escreva aqui o link do site que vamos ler os dados

dados = pd.read_html(url) # Leitura feita em html da biblioteca pandas (retorna uma lista de DataFrames)
dataFrame = pd.DataFrame(dados[0]) # Criação do data frame que vamos utilizar

Dado o código acima usando a biblioteca pandas do python, gostaria de saber porque a busca se restringe apenas aos 100 primeiros dados sendo que a página possui mais do que 100. Se tem algum jeito de fazer essa busca online de um jeito mais amplo

1 resposta
solução!

Olá Marcelo,

Nesse caso é o site que não traz todas as informações de início. O site carrega as primeiras 100 linhas da tabela, e então vai carregando o restante enquanto você vai descendo a página, o site faz isso utilizando javascript.

Uma opção é baixar os dados manualmente, na página existe uma opção de download dos dados completos em csv, você teria que baixar o arquivo manualmente e utilizar o read_csv no lugar do read_html.

Fazendo algumas pesquisas eu encontrei a biblioteca pandas-datareader que traz essas informações que você quer, eu fiz apenas alguns testes rápidos mas a biblioteca funcionou bem no colaboratory.

Exemplo de uso:

import pandas_datareader as web
import datetime

# Definindo as datas de início e fim da busca
start = datetime.datetime(2018, 8, 20)
end = datetime.datetime(2019, 8, 20)

# Buscando os dados
df = web.DataReader("VALE3.SA", 'yahoo', start, end)
df

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software