{"id":22915928,"url":"https://github.com/lleans/lyricfind-scrapper","last_synced_at":"2025-08-13T15:31:29.361Z","repository":{"id":209433139,"uuid":"724049878","full_name":"lleans/lyricfind-scrapper","owner":"lleans","description":"Simple API scrapper on LyricFInd 🎹","archived":false,"fork":false,"pushed_at":"2024-09-24T14:03:03.000Z","size":43,"stargazers_count":8,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-12T14:27:27.493Z","etag":null,"topics":["api","pyquery","python3","scrapper"],"latest_commit_sha":null,"homepage":"https://lyrics.lyricfind.com/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lleans.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-11-27T09:45:12.000Z","updated_at":"2025-05-03T17:18:22.000Z","dependencies_parsed_at":"2023-12-02T10:27:47.725Z","dependency_job_id":"616127f2-f788-4bc2-8270-6ed4c71ba316","html_url":"https://github.com/lleans/lyricfind-scrapper","commit_stats":null,"previous_names":["lleans/lyricfind-scrapper"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lleans/lyricfind-scrapper","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lleans%2Flyricfind-scrapper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lleans%2Flyricfind-scrapper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lleans%2Flyricfind-scrapper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lleans%2Flyricfind-scrapper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lleans","download_url":"https://codeload.github.com/lleans/lyricfind-scrapper/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lleans%2Flyricfind-scrapper/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270264572,"owners_count":24554794,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-13T02:00:09.904Z","response_time":66,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","pyquery","python3","scrapper"],"created_at":"2024-12-14T05:28:40.100Z","updated_at":"2025-08-13T15:31:29.251Z","avatar_url":"https://github.com/lleans.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Lyric Find Scrapper 🎹\n\nLyricsFind is free online lyrics database, using simple scrapper PyQuery and Aiohttp to grab lyrics from the free-website.\n\n## Option 💽\n\nThere's an multiple option on \u003ccode\u003eSearch\u003c/code\u003e class. On there you can change the:\n\n- **\u003ccode\u003eteritory\u003c/code\u003e iso code e.g 'us'(all lower)** _(optional)_\u003cbr\u003e\n  The usage of this params is, to limit yourself based on country you are( the default value is by searching your ip location)\n\n  ```python\n  from LyricsFindScrapper import Search\n\n  session = #your http client\n  client: Search = Search(\n      session=session,\n      teritory='us'\n      )\n  ```\n\n- **\u003ccode\u003elimit\u003c/code\u003e use in params** _(optional)_\u003cbr\u003e\n  You can change the limit request to service. Defaulting on 10, just be mindful what you do.\n\n  ```python\n  from LyricsFindScrapper import Search\n\n  session = #your http client\n  client: Search = Search(\n      session=session,\n      limit=10 # Be mindful what you change, bigger number may cuase you're being blocked by server\n      )\n  ```\n\n## Function 🪛\n\nThere are a few funstions that usable as:\n\n- **\u003ccode\u003eget_tracks(query: str)\u003c/code\u003e query as params(type str)**\u003cbr\u003e\n  Just like on the website, you can search an multiple tracks by using the query/title/artist/etc. This will return multiple list of \u003ccode\u003eTrack\u003c/code\u003e class.\n\n  ```python\n  from LyricsFindScrapper import Search, Track\n\n  session = #your http client\n  client: Search = Search(session=session)\n\n  #Make sure you're on async func.\n  #Getting tracks e.g\n  tracks: list[Track] = client.get_tracks(\n     query=#Your song title\n  )\n  ```\n\n- **\u003ccode\u003eget_track(trackid: str)\u003c/code\u003e query as params(type str)**\u003cbr\u003e\n  Find sepcific track based on metdata. Will return as \u003ccode\u003eTrack\u003c/code\u003e class.\n\n  ```python\n  from LyricsFindScrapper import Search, Track\n\n  session = #your http client\n  client: Search = Search(session=session)\n\n  #Make sure you're on async func.\n  #Getting track e.g\n  track: Track = await client.get_track(trackid=f'lfid:{tracks[0].lfid}')\n  ```\n\n- **\u003ccode\u003eget_lyrics(track: Track)\u003c/code\u003e track as params(type Track)**\u003cbr\u003e\n  The tracks that you already got, pass it here to get the lyrics. This will return class of \u003ccode\u003eSongData\u003c/code\u003e.\n\n  ```python\n  from LyricsFindScrapper import Search, Track, SongData\n\n  session = #your http client\n  client: Search = Search(session=session)\n\n  #Make sure you're on async func.\n  #Getting tracks e.g\n  tracks: list[Track] = client.get_tracks(\n     query=#Your song title\n  )\n\n  #Getting lyrics e.g\n  lyrics: SongData = client.get_lyrics(\n     track=tracks[0]\n  )\n  ```\n\n- **\u003ccode\u003eget_translation(track: Track, lang: str)\u003c/code\u003e tracks and lang as params(type Track and str)**\u003cbr\u003e\n  Sometime LyricFind will provide the translation of the lyrics(if it exist. Check on their website). On \u003ccode\u003eTrack\u003c/code\u003e class you can find the \u003ccode\u003eavailable_translation\u003c/code\u003e(if it exist) select the language you wanted, pass it on \u003ccode\u003elang\u003c/code\u003e as params. It will return you \u003ccode\u003eTranslation\u003c/code\u003e class(identical with \u003ccode\u003eSongData\u003c/code\u003e only few changes).\n\n  ```python\n    from LyricsFindScrapper import Search, Track, SongData\n\n    session = #your http client\n    client: Search = Search(session=session)\n\n    #Make sure you're on async func.\n    #Getting tracks e.g\n    tracks: list[Track] = client.get_tracks(\n       query=#Your song title\n    )\n\n    #Getting lyrics e.g\n    lyrics: SongData = client.get_lyrics(\n       track=tracks[0]\n    )\n\n    #Getting Translation e.g\n    translation: Translation = client.get_translation(\n       track=tracks[0],\n       lang='en'\n    )\n  ```\n\n## Data Model 📅\n\nAll data model, you can acccess it [here 🎯](LyricsFindScrapper/model.py)\n\n## Setup 🧩\n\nIf you want to use this on your local machine, download this repo, and make sure you run on virtualenv(it's optional)\n\n1. Open terminal on the repo just you download, then run 📚\n   \u003cbr /\u003e`pip install -r requirements.txt` to install required library\n2. Then read and run it(dont mind the error, it's just for example) 📖\n   \u003cbr /\u003e`press f5 if you on vscode`\n   \u003cbr /\u003e`python demo.py` if you using terminal\n\n## About PyPi ? 🐍\n\nabout that, if you wanted to install this repo as library search on google pip install from github, currently i dont wanna this published on PyPi i just wanna keep this humble on underground library, let's see if i need it to published later\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flleans%2Flyricfind-scrapper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flleans%2Flyricfind-scrapper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flleans%2Flyricfind-scrapper/lists"}