Download lyrics and metadata from Genius.com
Project description
LyricsGenius - a Python client for the Genius.com API
Setup
This repository is intended to provide an easy interface for programatically accessing the song information stored on Genius.com. Check out my blog post for a more thorough description of the package and its usage.
To use the Genius API you'll need to sign up for a (free) client that authorizes you to access their API. You'll need to supply your client_access_token
from Genius when using this module. See Usage below for an example.
Installation
LyricsGenius requires Python 3.
Install the package via PyPI using pip
:
pip install lyricsgenius
Or, install the latest version from GitHub:
pip install git+https://github.com/johnwmillr/LyricsGenius.git
Usage
Import the package and search for songs by a given artist:
import lyricsgenius as genius
api = genius.Genius("my_client_access_token_here")
artist = api.search_artist("Andy Shauf", max_songs=3)
Search for a single song by the same artist:
song = api.search_song("To You", artist.name)
Add the song to the artist object:
artist.add_song(song)
Save the artist's songs to a JSON file:
artist.save_lyrics()
You can also call the package from the command line:
export GENIUS_CLIENT_ACCESS_TOKEN="my_client_access_token_here"
python3 -m lyricsgenius --help
Search for and save lyrics to a given song:
python3 -m lyricsgenius song "Begin Again" "Andy Shauf" --save
Search for five songs by 'The Beatles' and save the lyrics:
python3 -m lyricsgenius artist "The Beatles" --max-songs 5 --save
Example projects
- Textual analysis of popular country music
- What makes some blink-182 songs more popular than others?
- Words per song for rap, rock, and country music
- Sentiment analysis on hip-hop lyrics
I'd love to have more examples to list here! Let me know if you've made use of this wrapper for one of your own projects, and I'll list it here.
Contributing
Please contribute! If you want to fix a bug, suggest improvements, or add new features to the project, just open an issue or send me a pull request.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for lyricsgenius-1.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5f27c42573acf0ecb6f085aa8f36c1cf03624621bdb218cc8cfbe931e934596 |
|
MD5 | f988e4c03f9db32dc2bcd751c2df5f85 |
|
BLAKE2b-256 | 5e7dcb1ba189d0d99a9b461fc60a2cf1d5035f61c087337cfe191cc63e72a25f |