https://github.com/konjoinfinity/songscraper
A song chart scraper for converting ultimate guitar tabs and charts into google docs πΆπ΅πΈπΉπ
https://github.com/konjoinfinity/songscraper
chart cheerio googledocs googledrive googledriveapi music pupeteer scraper
Last synced: 20 days ago
JSON representation
A song chart scraper for converting ultimate guitar tabs and charts into google docs πΆπ΅πΈπΉπ
- Host: GitHub
- URL: https://github.com/konjoinfinity/songscraper
- Owner: konjoinfinity
- Created: 2023-02-19T06:09:44.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-27T17:27:59.000Z (12 months ago)
- Last Synced: 2025-04-07T03:34:43.975Z (about 2 months ago)
- Topics: chart, cheerio, googledocs, googledrive, googledriveapi, music, pupeteer, scraper
- Language: JavaScript
- Homepage: https://www.ultimate-guitar.com/
- Size: 14.4 MB
- Stars: 3
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Song Scraper πΆπ΅πΈπΉπ
## An ultimate-guitar chord chart scraper that creates a new google doc and applies formatting.




-
[](https://github.com/Naereen/StrapDown.js/blob/master/LICENSE)
[](https://www.javascript.com)## Features
- [x] Accepts an ultimate-guitar url, scrapes the song data, creates a new google docs document from a template with the song name, and inserts the formatted text into the song template.
- [x] Removes '[ ]' brackets from section titles.
- [x] Recognizes various musical chords and associated notation.
- [x] Filters and updates formatting (bold/unbold) for section titles, chords, lyrics, and more.
- [x] Automatically renames the document as: 'song name - artist'.
- [x] Automatically opens and closes the browser.
- [x] Works with a variety of song formats from Ultimate Guitar, removes comments, splits the text to fit into two columns.
- [x] Adding the ability to choose the song key/capo. ***This works but you have to know how many steps up or down ahead of time***## Room for Improvement
- [ ] Adding another browser tab/window the newly created document after completion.
- [ ] Proxy for puppeteer, to appear from a different IP address each scrape.
- [ ] Adding human like actions like clicking, moving the mouse randomly, selecting, etc. to appear as a normal user.
- [ ] Logic to recognize repeating chord patterns within sections, delete duplicates and move chord progression next to the section title.
- [ ] Automatically export to PDF and download after doc creation and formatting completes.
- [ ] Deploy to a live url, not necessary but might be useful in the future.## Tech/frameworks used
- @google-cloud/local-auth
- @googleapis/docs
- @types/node
- axios
- cheerio
- googleapis
- node-fetch
- puppeteer
- request
- request-promise## Motivation
Built to automate a manual process: Copying pasting chord charts from ultimate-guitar and manually formatting google docs song charts.
## Screnshots



## License
MIT Β© [Konjo Tech - Wesley Scholl](2023)