prabaprakash / saavn-downloader Goto Github PK
View Code? Open in Web Editor NEWSaavn Downloader
Saavn Downloader
If the name metadata contains " character, it is saved as "
example album : https://www.jiosaavn.com/album/psycho-saiyaan-from-saaho/D0ZXR2UMNLs_
I am not use able to
getSong(songId)
I have a song id "qLZhFr8y"
https://www.saavn.com/api.php?songid=qLZhFr8y&_format=json&__call=song.getDetails
the above get is giving error
{"error":{"code":"INPUT_MISSING","msg":"One or more required field missing:pids"}}
I am not if I am extracting the song id or if the syntax is wrong.
Also, I am trying extract lyricist. This information is only available in the song url. Although the album is json dump has the lyricist, it is dumped inside artists along with singers. So, we need to query the song url to extract the lyricist.
I am new in python and tried to get it work but latest python does not able to install lxml library automatically and manual installation required python 3.4. Python 3.4 pip3 installer ask microsoft c++ 10 runtime, when downloaded and install it says newer version is installed.
C:\Users\Desktop\github\saavn>pip install -r requirements.txt
Requirement already satisfied: BeautifulSoup4 in c:\users\appdata\local\programs\python\python38\lib\site-packages (from -r requirements.txt (line 1)) (4.9.1)
Requirement already satisfied: eyed3 in c:\users\appdata\local\programs\python\python38\lib\site-packages (from -r requirements.txt (line 2)) (0.9.5)
Requirement already satisfied: urllib3 in c:\users\appdata\local\programs\python\python38\lib\site-packages (from -r requirements.txt (line 3)) (1.25.10)
ERROR: Could not find a version that satisfies the requirement request (from -r requirements.txt (line 4)) (from versions: none)
ERROR: No matching distribution found for request (from -r requirements.txt (line 4))
Download.py gallery test.py
README.md pyDes.py
pycache requirements.txt
$ python3 Download.py
Enter the url:https://www.saavn.com/s/album/portuguese/nao-preciso-de-licenca-2017/1wcMGTjJMTg
...
...
Please paste link of album or playlist
Est apresentando esse erro como posso solucionar.
So we have this album in Saavn (named EP-Part-1):
https://www.jiosaavn.com/album/ep-part-1/Y3W2FIf3ZhI_
There are basically 4 tracks and then there are extended versions of these 4 tracks however due to the same name, the script is considering them as an already downloaded file.
In cmd prompt (shows that all are downloaded):
In the explorer (shows that only 4 have been downloaded)
Any advice or workaround here?
When i download a playlist, thereafter make changes to the playlist and try to re-download, the old playlist files are downloaded. It appears the playlist is cached somewhere and the script uses that to download each time.
If i save it as a new playlist, then it downloads the new songs that i want.
Playlist
https://www.jiosaavn.com/featured/dance-pop-hits/ykq09QJIZlU_
https://www.jiosaavn.com/api.php?__call=webapi.get&token=ykq09QJIZlU_&type=playlist&p=1&n=20&includeMetaTags=0&ctx=wap6dot0&api_version=4&_format=json&_marker=0
Album
https://www.jiosaavn.com/album/youth/sb4fVPunsIo_
https://www.jiosaavn.com/api.php?__call=webapi.get&token=sb4fVPunsIo_&type=album&p=1&n=20&includeMetaTags=0&ctx=wap6dot0&api_version=4&_format=json&_marker=0
Hey bud,
Can you please setup the download script to accept an argument for download location. Ping me once its done and I will make a docker image for this.
Cheers
URL in question : https://www.jiosaavn.com/album/gunday/rFL,r8r-O7A_
What happens is that the song is shown as downloaded on the terminal, but in actual there is an undeletable file thats created on my hdd with name "Gunday (Rap By" with no extension and 0 KB size, i.e. a corrupted file.
C:\Users\Isuru\Documents\GitHub\gaana-dl>pip install wsgiref
Collecting wsgiref
Using cached https://files.pythonhosted.org/packages/41/9e/309259ce8dff8c596e8c26df86dbc4e848b9249fd36797fd60be456f03fc/wsgiref-0.1.2.zip
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "", line 1, in
File "C:\Users\Isuru\AppData\Local\Temp\pip-install-5yu14l4j\wsgiref\setup.py", line 5, in
import ez_setup
File "C:\Users\Isuru\AppData\Local\Temp\pip-install-5yu14l4j\wsgiref\ez_setup_init_.py", line 170
print "Setuptools version",version,"or greater has been installed."
^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Setuptools version",version,"or greater has been installed.")?
How to download encrypted media url?
Here's the link
https://www.jiosaavn.com/album/aitibar/RB5rWXDJwXs_
Api:
https://www.saavn.com/api.php?_format=json&__call=content.getAlbumDetails&albumid=12016713
Response:
{"title":"Kalakalappu 2","name":"Kalakalappu 2","year":"2018","release_date":"2018-02-06","primary_artists":"Hiphop Tamizha","primary_artists_id":"773021","al
Issue: response json content lines is changing frequently
A minor issue as very few songs have this tile. If you have a song title with "" in it, for example Mein Agar from "Tubelight", this aborts the script.
Title
Hey, I have been looking for saavn's api. I wanted to ask you where did you find the api? Is there any documentation?
Sir, where the downloaded songs will be stored? I couldn't find those. I downloaded using termux.
it wont download this album.
https://www.jiosaavn.com/album/what-is-psych/jXKhstjC--c_
Output:
Enter the url:https://www.jiosaavn.com/album/what-is-psych/jXKhstjC--c_
...
Initiating Album Downloading
Album name: What Is Psych?
Downloading Bury My Burden.m4a
...
Please paste link of album or playlist
D:\Python tools\Saavn-Downloader-master>pip install -r requirements.txt
Collecting BeautifulSoup4 (from -r requirements.txt (line 1))
Downloading https://files.pythonhosted.org/packages/66/25/ff030e2437265616a1e9b25ccc864e0371a0bc3adb7c5a404fd661c6f4f6/beautifulsoup4-4.9.1-py3-none-any.whl (115kB)
|████████████████████████████████| 122kB 363kB/s
Collecting eyed3 (from -r requirements.txt (line 2))
Downloading https://files.pythonhosted.org/packages/bd/67/202bcc28b01684f8fe18921f4b1dbe44b471b2c407f5d784849d513e417f/eyeD3-0.9.5-py2.py3-none-any.whl (145kB)
|████████████████████████████████| 153kB 437kB/s
Collecting urllib3 (from -r requirements.txt (line 3))
Downloading https://files.pythonhosted.org/packages/e1/e5/df302e8017440f111c11cc41a6b432838672f5a70aa29227bf58149dc72f/urllib3-1.25.9-py2.py3-none-any.whl (126kB)
|████████████████████████████████| 133kB 409kB/s
Collecting request (from -r requirements.txt (line 4))
Downloading https://files.pythonhosted.org/packages/f1/27/7cbde262d854aedf217061a97020d66a63163c5c04e0ec02ff98c5d8f44e/request-2019.4.13.tar.gz
Collecting pathlib (from -r requirements.txt (line 5))
Downloading https://files.pythonhosted.org/packages/ac/aa/9b065a76b9af472437a0059f77e8f962fe350438b927cb80184c32f075eb/pathlib-1.0.1.tar.gz (49kB)
|████████████████████████████████| 51kB 469kB/s
Collecting requests (from -r requirements.txt (line 6))
Downloading https://files.pythonhosted.org/packages/45/1e/0c169c6a5381e241ba7404532c16a21d86ab872c9bed8bdcd4c423954103/requests-2.24.0-py2.py3-none-any.whl (61kB)
|████████████████████████████████| 71kB 573kB/s
Collecting mutagen (from -r requirements.txt (line 7))
Downloading https://files.pythonhosted.org/packages/49/d7/245d48972216d000238d6ccc09142bc1be88e707b38e8fb19a0155292cb6/mutagen-1.44.0-py3-none-any.whl (212kB)
|████████████████████████████████| 215kB 544kB/s
Collecting pySmartDL (from -r requirements.txt (line 8))
Downloading https://files.pythonhosted.org/packages/5c/be/ea485e61e1e5c552fd1fdf90dc818e30661797085ca7df6483ca62923f3c/pySmartDL-1.3.3-py3-none-any.whl
Collecting logger (from -r requirements.txt (line 9))
Downloading https://files.pythonhosted.org/packages/73/2f/b0d28eaa1e2c1cf64129f8da3fe701888d152677fec708cd0f13e8309e1e/logger-1.4.tar.gz
Collecting lxml (from -r requirements.txt (line 10))
Downloading https://files.pythonhosted.org/packages/02/33/a63a824f2b40fd8f25471dc7f67dc6da406c2b042dc87fc68870621bb339/lxml-4.5.1-cp38-cp38-win_amd64.whl (3.5MB)
|████████████████████████████████| 3.6MB 656kB/s
Collecting aiohttp (from -r requirements.txt (line 11))
Downloading https://files.pythonhosted.org/packages/c2/f7/f0ad3dbace4762fef5d80aa4124b41bf218e4c4dd6d387a86cede707d9a4/aiohttp-3.6.2-py3-none-any.whl (441kB)
|████████████████████████████████| 450kB 726kB/s
Collecting soupsieve>1.2 (from BeautifulSoup4->-r requirements.txt (line 1))
Downloading https://files.pythonhosted.org/packages/6f/8f/457f4a5390eeae1cc3aeab89deb7724c965be841ffca6cfca9197482e470/soupsieve-2.0.1-py3-none-any.whl
Collecting filetype (from eyed3->-r requirements.txt (line 2))
Downloading https://files.pythonhosted.org/packages/b4/6b/7bc015da1a576ac037582ae0c5acb675371de9e017e860931e97a428ee31/filetype-1.0.7-py2.py3-none-any.whl
Collecting deprecation (from eyed3->-r requirements.txt (line 2))
Downloading https://files.pythonhosted.org/packages/02/c3/253a89ee03fc9b9682f1541728eb66db7db22148cd94f89ab22528cd1e1b/deprecation-2.1.0-py2.py3-none-any.whl
Collecting get (from request->-r requirements.txt (line 4))
Downloading https://files.pythonhosted.org/packages/3f/ef/bb46f77f7220ac1b7edba0c76d810c89fddb24ddd8c08f337b9b4a618db7/get-2019.4.13.tar.gz
Collecting post (from request->-r requirements.txt (line 4))
Downloading https://files.pythonhosted.org/packages/0f/05/bd79da5849ea6a92485ed7029ef97b1b75e55c26bc0ed3a7ec769af666f3/post-2019.4.13.tar.gz
Requirement already satisfied: setuptools in c:\python38\lib\site-packages (from request->-r requirements.txt (line 4)) (41.2.0)
Collecting idna<3,>=2.5 (from requests->-r requirements.txt (line 6))
Downloading https://files.pythonhosted.org/packages/89/e3/afebe61c546d18fb1709a61bee788254b40e736cff7271c7de5de2dc4128/idna-2.9-py2.py3-none-any.whl (58kB)
|████████████████████████████████| 61kB 653kB/s
Collecting chardet<4,>=3.0.2 (from requests->-r requirements.txt (line 6))
Downloading https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl (133kB)
|████████████████████████████████| 143kB 467kB/s
Collecting certifi>=2017.4.17 (from requests->-r requirements.txt (line 6))
Downloading https://files.pythonhosted.org/packages/5e/c4/6c4fe722df5343c33226f0b4e0bb042e4dc13483228b4718baf286f86d87/certifi-2020.6.20-py2.py3-none-any.whl (156kB)
|████████████████████████████████| 163kB 656kB/s
Collecting attrs>=17.3.0 (from aiohttp->-r requirements.txt (line 11))
Downloading https://files.pythonhosted.org/packages/a2/db/4313ab3be961f7a763066401fb77f7748373b6094076ae2bda2806988af6/attrs-19.3.0-py2.py3-none-any.whl
Collecting yarl<2.0,>=1.0 (from aiohttp->-r requirements.txt (line 11))
Downloading https://files.pythonhosted.org/packages/38/7b/8ee60bf7dd3266508dadacf0463669594db48832265cee7d6fddd22489c9/yarl-1.4.2-cp38-cp38-win_amd64.whl (126kB)
|████████████████████████████████| 133kB 656kB/s
Collecting async-timeout<4.0,>=3.0 (from aiohttp->-r requirements.txt (line 11))
Downloading https://files.pythonhosted.org/packages/e1/1e/5a4441be21b0726c4464f3f23c8b19628372f606755a9d2e46c187e65ec4/async_timeout-3.0.1-py3-none-any.whl
Collecting multidict<5.0,>=4.5 (from aiohttp->-r requirements.txt (line 11))
Downloading https://files.pythonhosted.org/packages/b0/be/cbc31f347fb5a092b3889e2d192f5c9dbb79fbe46ebc7309447b2b9b445b/multidict-4.7.6-cp38-cp38-win_amd64.whl (48kB)
|████████████████████████████████| 51kB 544kB/s
Collecting packaging (from deprecation->eyed3->-r requirements.txt (line 2))
Downloading https://files.pythonhosted.org/packages/46/19/c5ab91b1b05cfe63cccd5cfc971db9214c6dd6ced54e33c30d5af1d2bc43/packaging-20.4-py2.py3-none-any.whl
Collecting query_string (from get->request->-r requirements.txt (line 4))
Downloading https://files.pythonhosted.org/packages/12/3c/412a45daf5bea9b1d06d7de41787ec4168001dfa418db7ec8723356b119f/query-string-2019.4.13.tar.gz
Collecting pyparsing>=2.0.2 (from packaging->deprecation->eyed3->-r requirements.txt (line 2))
Downloading https://files.pythonhosted.org/packages/8a/bb/488841f56197b13700afd5658fc279a2025a39e22449b7cf29864669b15d/pyparsing-2.4.7-py2.py3-none-any.whl (67kB)
|████████████████████████████████| 71kB 419kB/s
Collecting six (from packaging->deprecation->eyed3->-r requirements.txt (line 2))
Downloading https://files.pythonhosted.org/packages/ee/ff/48bde5c0f013094d729fe4b0316ba2a24774b3ff1c52d924a8a4cb04078a/six-1.15.0-py2.py3-none-any.whl
Collecting public (from query_string->get->request->-r requirements.txt (line 4))
Downloading https://files.pythonhosted.org/packages/54/4d/b40004cc6c07665e48af22cfe1e631f219bf4282e15fa76a5b6364f6885c/public-2019.4.13.tar.gz
Installing collected packages: soupsieve, BeautifulSoup4, filetype, pyparsing, six, packaging, deprecation, eyed3, urllib3, public, query-string, get, post, request, pathlib, idna, chardet, certifi, requests, mutagen, pySmartDL, logger, lxml, attrs, multidict, yarl, async-timeout, aiohttp
Running setup.py install for public ... done
Running setup.py install for query-string ... done
Running setup.py install for get ... done
Running setup.py install for post ... done
Running setup.py install for request ... done
Running setup.py install for pathlib ... done
Running setup.py install for logger ... done
Successfully installed BeautifulSoup4-4.9.1 aiohttp-3.6.2 async-timeout-3.0.1 attrs-19.3.0 certifi-2020.6.20 chardet-3.0.4 deprecation-2.1.0 eyed3-0.9.5 filetype-1.0.7 get-2019.4.13 idna-2.9 logger-1.4 lxml-4.5.1 multidict-4.7.6 mutagen-1.44.0 packaging-20.4 pathlib-1.0.1 post-2019.4.13 public-2019.4.13 pySmartDL-1.3.3 pyparsing-2.4.7 query-string-2019.4.13 request-2019.4.13 requests-2.24.0 six-1.15.0 soupsieve-2.0.1 urllib3-1.25.9 yarl-1.4.2
WARNING: You are using pip version 19.2.3, however version 20.1.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
D:\Python tools\Saavn-Downloader-master>python Download.py
Enter the url: https://www.jiosaavn.com/album/shayad-from-love-aaj-kal/g16Vpmg6lzk_
...
...
Please paste link of album or playlist
DONE
Good if it has option to change m4a to mp3
could someone please point to a similar project for Amazon
Enter the url:https://www.saavn.com/s/album/hindi/Stree-2018/5hyqYg65lRs_
...
Initiating Album Downloading
...
Please paste link of album or playlist
This is what it says whenever i paste a album url & playlist Download works fine.
When we are giving the url for the newly colaboration between the Jio and Saavn in that case we are not able to download the Songs list.
Below is the sample album link:
https://www.jiosaavn.com/album/unstoppable/zNe-wz8Okb4_
I am not able to download playlists anymore.
Albums work fine.
Sample playlist - https://www.saavn.com/s/playlist/chanpreet381/Temp/gRpbGoEKdO7uCJW60TJk1Q__
Thanks
It Keeps on saying "please paste link of album or playlist"
Screenshot :: https://drive.google.com/open?id=1VhXjgB9deYOt01ZwJrWH0wMv4_WI-nmB
Again getting the same issue as earlier...
Enter the url:https://www.saavn.com/s/album/tamil/Genius-2018/H1shvIZhbg0_
...
Initiating Album Downloading
...
Please paste link of album or playlist
audio['cprt'] = unicode(json_data['label'])
Hi while running the program am getting the below error... Pls help.
C:\Users*\AppData\Local\Programs\Python\Python37\Scripts\Saavn-Downloader>Download.py
Enter the url:https://www.saavn.com/s/featured/tamil/Vijay_Antony_Hits/,FiHYsZ8kVE_
Traceback (most recent call last):
File "C:\Users*\AppData\Local\Programs\Python\Python37\Scripts\Saavn-Downloader\Download.py", line 157, in
soup = BeautifulSoup(res.text, "lxml")
File "C:\Users****\AppData\Local\Programs\Python\Python37\lib\site-packages\beautifulsoup4-4.6.0-py3.7.egg\bs4_init_.py", line 165, in init
bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: lxml. Do you need to install a parser library?
After pasting the album link it download a few songs and then stops midway. Prints: Please paste link of album or playlist
I modified the following lines from __main__
:
except Exception as e:
print('...')
as
except Exception as e:
print('...', e)
then it prints: ... error() missing 1 required positional argument: 'msg'
The script stopped download playlist. I can download albums just fine.
here is a sample playlist to try to download - https://www.jiosaavn.com/s/playlist/chanpreet381/DiwaliClass/scI6-Lp1j3zufxkxMEIbIw__
Hi,
I am getting below error while running this in my mac and this exception was caused by SmartDL.
<urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1056)>
To overcome the issue, I have added the below line and worked for me.
ssl._create_default_https_context = ssl._create_unverified_context
Hope this can help someone else too.
Thanks again for creating downloader and very helpful to me
As of now the songs are downloaded in folder names as "songs", just want to add feature of downloading the songs in the folder named as whatever if the name of the album.
For example:
https://www.jiosaavn.com/album/kalank/Jv-F,nN0JoY_
the above album name is "Kalank", so just change the name of folder from "songs" to "Kalank"
getting error while downloading artist all songs,
'NoneType' object has no attribute 'find' Please check that the entered URL links to an Artist Downloading all artist songs Traceback (most recent call last): File "Download.py", line 423, in <module> downloadArtistAllSongs(artistId, artist_json) NameError: name 'artistId' is not defined
Some songs play only till half , please correct identify and correct the issue
This script is not downloading the entire playlist.
It only downloads 49 songs from the playlist and exit,
Does anyone here knows if any Saavn API exists to pull all the albums in my music? Unfortunately it does not even exist in web player so hard to find the links of all albums in my music.
I have a long playlist of over 100 files which I keep updating. Is there a way to skip downloading files the file already exists in the folder? Best to have this as optional as it might not always be desired.
Thanks
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.