Sobre | Features | Tecnologias | Requerimentos | Execução | Licença | Autor
Este projeto consiste em um script Python que automatiza a busca de preços de criptomoedas na web e armazena os resultados em um DataFrame. O script utiliza as seguintes bibliotecas:
- pandas: para manipulação de dados.
- beautifulsoup4: para fazer scraping das páginas web.
- requests: para realizar requisições HTTP.
O script foi desenvolvido no Jupyter Notebook com a versão 3.8 do Python.
O script funciona da seguinte forma:
- Acessa a página da CoinMarketCap.
- Coleta os preços das criptomoedas especificadas.
- Armazena os resultados em um DataFrame.
O código é dividido em duas partes principais:
- Acesso à página da CoinMarketCap
- Automação de Busca de Preços
A primeira parte do código acessa a página da CoinMarketCap para buscar informações sobre criptomoedas. O código a seguir mostra como acessar a página:
import requests
from bs4 import BeautifulSoup
link = 'https://coinmarketcap.com/'
requisicao = requests.get(link)
site = BeautifulSoup(requisicao.text, 'html.parser')
A segunda parte do código automatiza a busca de preços para as criptomoedas. O código funciona da seguinte forma:
✔️ Feature 1: Acessa a página da CoinMarketCap e coleta os dados das criptomoedas listadas.
✔️ Feature 2: Organiza os dados em um DataFrame pandas.
O código a seguir mostra como realizar a coleta e organizar os dados:
import re
import pandas as pd
tbody = site.find('tbody')
linhas = tbody.find_all('tr')
moedas = {}
for linha in linhas:
try:
nome = linha.find(class_='kKpPOn').text
codigo = linha.find(class_='coin-item-symbol').text
valores = linha.find_all(string=re.compile('\$'))
preco = valores[0]
percentuais = linha.find_all(string=re.compile('%'))
for i, percentual in enumerate(percentuais):
if 'bQjSqS' in percentual.parent["class"]:
percentuais[i] = "-" + str(percentual)
var_1h = percentuais[0]
var_24h = percentuais[1]
var_7d = percentuais[2]
market_cap = valores[2]
volume = valores[3]
dic = {"nome": nome, "codigo": codigo, "preco": preco, "var_1h": var_1h, "var_24h": var_24h, "var_7d": var_7d,"market_cap": market_cap, "volume": volume}
moedas[nome] = dic
except AttributeError:
break
df = pd.DataFrame(moedas)
display(df)
As seguintes ferramentas foram usadas neste projeto:
Antes de iniciar 🏁, você precisa ter Git e Python instalados.
bash
# Clone do projeto
$ git clone https://github.com/gsoaresdz/coin-market-cap.git
# Execute o script
$ jupyter notebook main.ipynb
- O script foi desenvolvido para fins educacionais. Não é recomendado o uso do script para fins comerciais sem autorização dos sites.
- O script pode ser modificado para atender a diferentes necessidades. Por exemplo, é possível alterar os seletores de XPath ou incluir novas funcionalidades.
Este projeto está sob licença do MIT. Para obter mais detalhes, consulte o arquivo LICENSE.
Feito com ❤️ by gsoaresdz