A fast and secure API for AZLyrics.com to get lyrics easily :)
- Get artist's songs list with Album, Year ...etc
- Can get results via Google* and Duckduckgo* for accurate results.
- Save lyrics in a .txt file or any format you like.
- Avoid BAN using proxy** and multiple user agents.
azapi
requires Python 3.
Use pip
to install the package from PyPI:
pip install azapi
Or, install the latest version of the package from GitHub:
pip install git+https://github.com/elmoiv/azapi.git
import azapi
API = azapi.AZlyrics('google', accuracy=0.5)
API.artist = 'Tylor Swft'
API.title = 'Bad Blods'
API.getLyrics(save=True, ext='lrc')
print(API.lyrics)
# Correct Artist and Title are updated from webpage
print(API.title, API.artist)
Here are a few sample tests:
- Getting lyrics
- Getting lyrics (Custom Path)
- Getting songs list
- Downloading lyrics from a list
- Get Lyrics by title only
- Using search engine with titles
- Using search engine with mistyped title and artist
- #17 Use search engine method when normal method fails.
- #6 [Re-Fixed] Single albums return relative urls.
- #11 Fixed proxy not used properly.
- #10 Fixed one-liner lyrics can't be retrieved.
- Direct lyrics URLs can now be passed without artist or title.
- Fixed minor bugs.
- #9 Update title and artist attributes with exact values from AZLyrics.com.
- Fixed minor bugs.
- #8 Fixed
getSongs
not returning all songs.
- #7 Added the ability to use custom path with
getLyrics
. - Added
self.lyrics
andself.songs
to store last call. - Added
self.lyrics_history
that stores all fetched lyrics.
- #6 Fixed single albums return relative urls.
- Project re-done from scratch.
- Added the ability to use search engines.
- Fixed unicode issue with non-english lyrics.
- Fixed songs list not working for artists with single album.
- Removed search as it's no longer needed.
- Fixed NoneType bugs.
- Added search feature to
getSongs
andgetLyrics
. - You can use search albums, songs and artists.
- First Release
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.
*It is adviced not to send too many requests to avoid IP ban by search engines.
**Proxy is set by the user, defult is empty.