Code Monkey home page Code Monkey logo

cryptocmd's Introduction

cryptoCMD: cryptoCurrency Market Data (added functions)

https://travis-ci.org/guptarohit/cryptoCMD.svg?branch=master FOSSA Status Downloads Code style: black

Cryptocurrency historical market price data scraper written in Python.

Note: This is a fork of the orignal repo. I wanted one that could do Multiples coins and specific dates. So i added on to this.

Installation

$ pip install cryptocmd

to install from the latest source use following command

$ pip install git+git://github.com/guptarohit/cryptoCMD.git

Usage

CoinMarketCap Scraper

Following methods are available to get data in multiple formats from https://coinmarketcap.com

To get all time historical data of a cryptocurrency

from cryptocmd import CmcScraper

# initialise scraper without time interval
scraper = CmcScraper("XRP")

# get raw data as list of list
headers, data = scraper.get_data()

# get data in a json format
xrp_json_data = scraper.get_data("json")

# export the data as csv file, you can also pass optional `name` parameter
scraper.export("csv", name="xrp_all_time")

# Pandas dataFrame for the same data
df = scraper.get_dataframe()

To get data of a cryptocurrency for some days

from cryptocmd import CmcScraper

# initialise scraper with time interval
scraper = CmcScraper("XRP", "15-10-2017", "25-10-2017")

# get raw data as list of list
headers, data = scraper.get_data()

# get data in a json format
json_data = scraper.get_data("json")

# export the data to csv
scraper.export("csv")

# get dataframe for the data
df = scraper.get_dataframe()
Following are the columns of the data

Date, Open, High, Low, Close, Volume, Market Cap

Additions by Belgareth

To get all time historical data of a cryptocurrency from a range of dates (From DD-MM-YY to DD-MM-YY)

from cryptocmd import CmcScraper

currency = input("enter currency: ") #eg.. ICX
date_from = input("enter begining date: ") #(DD-MM-YYYY) or left blank to get all dates
date_to = input ("enter end date: ")  #(DD-MM-YYYY) or can be left blank to get all dates

# initialise scraper with time interval

if date_from and date_to:
    scraper = CmcScraper(currency, date_from, date_to)
else:
    scraper = CmcScraper(currency)

# get raw data as list of list
headers, data = scraper.get_data()

# get data in a json format
json_data = scraper.get_data("json")

# export the data to csv
scraper.export("csv")

# get dataframe for the data
df = scraper.get_dataframe()

Output file is a CSV

To get all time historical data of Multiple cryptocurrency from a range of dates (From DD-MM-YY to DD-MM-YY)

from cryptocmd import CmcScraper
currency_n = input("enter currency: ") #must be multiple coins eg. BTC ICX (as many coins as you like)
date_from = input("enter begining date: ") #Can be left blank to get all ranges (DD-MM-YYYY)
date_to = input ("enter end date: ") #Can be left blank to get all ranges (DD-MM-YYYY)

for currency in currency_n.split(" "):
    # initialise scraper with time interval

    if date_from and date_to:
        scraper = CmcScraper(currency, date_from, date_to)
    else:
        scraper = CmcScraper(currency)

    headers, data = scraper.get_data()

    # get data in a json format
    json_data = scraper.get_data("json")

    # export the data to csv
    scraper.export("csv")

    # get dataframe for the data
    df = scraper.get_dataframe()

Output: Each currency as its own CSV file.

Acknowledgements

The data is being scrapped from coinmarketcap โœŒ๏ธ and it's free to use. ๐ŸŽ‰

Contributing

Feel free to make a pull request! :octocat:

If you found this useful, I'd appreciate your consideration in the below. โœจโ˜•

Buy Me A Coffee

License

FOSSA Status

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.