Scrape songs on LyricWiki.
Scrape music data from LyricsWiki (https://lyrics.fandom.com). Artists, Albums, Songs can be extracted.
Project made during a Deep Learning project for music generation using GPT2 model.
Install lyricsfandom package from PyPi:
pip install lyricsfandom
Or from GitHub:
git clone https://github.com/arthurdjn/scrape-lyricwiki cd scrape-lyricwiki pip install .
You can search for
Song from the API:
from lyricsfandom import LyricWiki # Connect to the API wiki = LyricWiki() # Search for an artist. `LyricsFandom` is not case sensitive. artist = wiki.search_artist('london grammar') # Search for an album album = wiki.search_album('london grammar', 'if you wait') # ...Or a song song = wiki.search_song('london grammar', 'strong') # And retrieve its lyrics lyrics = song.get_lyrics()
The package is divided as follows:
- AlbumMeta, inherits from ArtistMeta
- SongMeta, inherits from AlbumMeta
Once you have one of these objects, you can also access data directly through their methods:
artist = wiki.search_artist('london grammar') albums = artist.get_albums() songs = artist.get_songs() # Idem from an album album = wiki.search_album('london grammar', 'if you wait') songs = album.get_songs()
In addition, you can retrieve parent objects from children:
artist = wiki.search_artist('london grammar') song = artist.search_song('strong') # Access to parent classes album = song.get_album() artist = song.get_artist()
You can scrape for description, links and other details information:
artist = wiki.search_artist('london grammar') info = artist.get_info() # description of the artist (band members, genres, labels etc.) links = artist.get_links() # links where to buy the artist's music.
Save and export
You can save data in a JSON format (and encode it to ASCII if you want).
artist = wiki.search_artist('london grammar') artist_data = artist.to_json(encode='ascii') # Idem for Album and Song
This package can make a lot of connections while scraping data. Here is a small comparison of different packages, made on scraping 10 songs from an album. pylyrics3 is the fastest to retrieve data, but it only return lyrics on a JSON format (and not OOP). lyricsfandom have similar results, but lyricsmaster is 10 times slower.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size lyricsfandom-0.2.1.tar.gz (498.8 kB)||File type Source||Python version None||Upload date||Hashes View|