Giter Site home page Giter Site logo

coin-market-cap's Introduction

CoinMarketCap API Scraper

Github top language Github language count Repository size

Sobre   |   Features   |   Tecnologias   |   Requerimentos   |   Execução   |   Licença   |   Autor


🎯 Sobre

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.

📝 IDE e versão do Python

O script foi desenvolvido no Jupyter Notebook com a versão 3.8 do Python.

📝 Regra de negócio

O script funciona da seguinte forma:

  1. Acessa a página da CoinMarketCap.
  2. Coleta os preços das criptomoedas especificadas.
  3. Armazena os resultados em um DataFrame.

📝 Passos executados no código

O código é dividido em duas partes principais:

  • Acesso à página da CoinMarketCap
  • Automação de Busca de Preços

📝 Acesso à página da CoinMarketCap

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')

✨ Features

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)

🚀 Tecnologias

As seguintes ferramentas foram usadas neste projeto:

✅ Requerimentos

Antes de iniciar 🏁, você precisa ter Git e Python instalados.

🏁 Execução

bash
# Clone do projeto
$ git clone https://github.com/gsoaresdz/coin-market-cap.git

# Execute o script
$ jupyter notebook main.ipynb

📝 Observações

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

📝 Licença

Este projeto está sob licença do MIT. Para obter mais detalhes, consulte o arquivo LICENSE.

Feito com ❤️ by gsoaresdz

 

De volta ao topo

coin-market-cap's People

Contributors

gsoaresdz avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.