azapi
A fast and secure API for AZLyrics.com to get lyrics easily :)
Features
- 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.
Installation
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
Usage
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)
Tests
Here are a few sample tests:
Changelog
v3.0.8 21-02-2022
- #17 Use search engine method when normal method fails.
v3.0.7 03-01-2022
- #6 [Re-Fixed] Single albums return relative urls.
v3.0.6 12-02-2021
- #11 Fixed proxy not used properly.
v3.0.5 26-09-2020
- #10 Fixed one-liner lyrics can't be retrieved.
- Direct lyrics URLs can now be passed without artist or title.
- Fixed minor bugs.
v3.0.4 22-08-2020
- #9 Update title and artist attributes with exact values from AZLyrics.com.
- Fixed minor bugs.
v3.0.3 13-08-2020
- #8 Fixed
getSongs
not returning all songs.
v3.0.2 25-07-2020
- #7 Added the ability to use custom path with
getLyrics
.
- Added
self.lyrics
and self.songs
to store last call.
- Added
self.lyrics_history
that stores all fetched lyrics.
v3.0.1 07-07-2020
- #6 Fixed single albums return relative urls.
v3.0.0 15-06-2020
- 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.
v2.1.0 18-10-2019
- Added search feature to
getSongs
and getLyrics
.
- You can use search albums, songs and artists.
v2.0.1 11-09-2019
Stargazers over time
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.
*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.