Giter VIP home page Giter VIP logo

ultimate-guitar-scraper's Introduction

Ultimate Guitar Scraper

Ultimate-Guitar.com is the world's largest online database of guitar tablature. They also have a horrible UI that is filled with advertisements, interstitials, and other annoying stuff.

This package allows you to programmatically fetch tabs and do pretty much whatever you want with them depending on the data structure of the response.

Potential use-cases might include...

  • CLI tab viewer/manager
  • A utility that calculates the most used chords or progressions in a specific set of songs
  • Automatic transposition service
  • A tab "player" - similar to the "GuitarPro" application
  • Save text-based tabs + associated meta
  • Generate and save HTML, PDF, etc tabs
  • Download tabs then upload to popular services like Google Drive, Dropbox, etc

Features

  • Commandline interface (WIP)
  • Fetch a tab by id
  • Fetch all your saved tabs.
  • Fetch tab by URL
  • Search for tabs
  • Explore popular tabs
  • Export tab as .wav (Thanks to https://github.com/timiskhakov/music)!!
  • Fetch popular tabs (see: ultimateguitar.Explore)
  • Scrape all tabs by artist
    • Fun fact: on mobile, UG doesn't have a "list tabs by artist name/id" endpoint. They just load ~7 pages. Weird. The functionality for this is technically here already, I just didn't add a helper method. Go nuts.

Building

  1. go build (lol)

Using the CLI

Run ./ultimate-guitar-scraper -h if you're curious, buuuut...

  • Fetch a tab: ./ultimate-guitar-scraper fetch -id 96835 -output wee.wav
  • Fetch all your saved tabs: ./ultimate-guitar-scraper get_all --output ./out
  • Fetch and export tab as HTML (using cmd/data/template.tmpl): ./ultimate-guitar-scraper export -id 96835
  • Fetch a tab and export it as a .wav file: ./ultimate-guitar-scraper wav -id 113039 -output hallelujah.wav

... But why?

As much as I appreciate the work UG has done compiling the largest online guitar tabs database, I can't bring myself to use their website or mobile app (and definitely not their website on mobile!). I started working on this package (originally a node module) as a way for me to view tabs/chord charts without dealing with their display ads and interstitials.

Technology Used

Disclaimer / Legal

This software's purpose is purely educational. I am not responsible for how you use this package. This repository and all others associated with it are not affiliated with, authorized, or endorsed by Ultimate-Guitar.com.

ultimate-guitar-scraper's People

Contributors

alfhou avatar pilfer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

ultimate-guitar-scraper's Issues

`music` library produces empty `.wav` file

command

ultimate-guitar-scraper wav -id 437741 -output example.wav

output for file example.wav

example.wav: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 24 bit, stereo 44100 Hz

output for cat example.wav

RIFF,WAVEfmt D��	data

API Endpoint may have changed

When trying to use ultimate-guitar-scraper with the get_all option I get an 404 error.

It seems the API Endpoint for /list/myTab has changed.

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.