atlas-comstock / neteasecloudmusicflac Goto Github PK
View Code? Open in Web Editor NEW根据网易云音乐的歌单, 下载flac无损音乐到本地. Download the FLAC music from Internet according to your NeteaseCloudMusic playlist.
根据网易云音乐的歌单, 下载flac无损音乐到本地. Download the FLAC music from Internet according to your NeteaseCloudMusic playlist.
$ git diff
diff --git a/main.py b/main.py
index ad9690f..8f068cd 100644
--- a/main.py
+++ b/main.py
@@ -1,12 +1,12 @@
import re
import requests
import json
-import urllib2
+import urllib
import os
import sys
print "fetching msg from " + sys.argv[1] + "\n"
-url = sys.argv[1]
+url = re.sub("#/", "", sys.argv[1])
r = requests.get(url)
contents = r.text
res = r'<ul class="f-hide">(.*?)</ul>'
@@ -19,16 +19,17 @@ else:
res = r'<li><a .*?>(.*?)</a></li>'
mm = re.findall(res, contents, re.S|re.M)
+CURRENT_PATH = os.path.dirname(os.path.realpath(__file__))
for value in mm:
url = 'http://sug.music.baidu.com/info/suggestion'
payload = {'word': value, 'version': '2', 'from': '0'}
- print value
+ print value.encode("u8")
r = requests.get(url, params=payload)
contents = r.text
d = json.loads(contents, encoding="utf-8")
- if('data' not in d):
+ if d is not None and 'data' not in d:
continue
songid = d["data"]["song"][0]["songid"]
print "find songid: "
@@ -54,9 +55,11 @@ for value in mm:
songname = d["data"]["songList"][0]["songName"]
artistName = d["data"]["songList"][0]["artistName"]
- filename = "./" + songdir + "/"+songname+"-"+artistName+".flac"
+ filename = ("%s/%s/%s-%s.flac" % (CURRENT_PATH, songdir, songname, artistName)).encode("u8")
print filename + " is downloading now ......\n\n"
- f = urllib2.urlopen(songlink)
- with open(filename, "wb") as code:
- code.write(f.read())
+
+ urllib.urlretrieve(songlink, filename)
+ #f = urllib2.urlopen(songlink)
+ #with open(filename, "wb") as code:
+ # code.write(f.read())
我更改了下载路径!运行main.py后,提示歌曲下载成功,可以在目标地址生成目标文件夹,但是里面没有任何歌曲!
同样的歌单,如果不更改下载路径,是可以正常下载!
我想问下,这是什么问题捏?
1.win10 python2.7.x
2.D:>python main.py
Traceback (most recent call last):
File "main.py", line 10, in
print "fetching msg from " + sys.argv[1] + "\n"
IndexError: list index out of range
下载320k 的音乐可以给个版本吗?谢谢
Hi - It's really happy to use your project. But there is some questions:
Throughout your README.md, it's all about "Downloading every song in your CloudMusic playlist", but it actually download songs from other services:
2018-10-28 08:58:52 main.py:72 [INFO] 沙龙
2018-10-28 08:58:52 main.py:81 [INFO] find songid: 7868299
2018-10-28 08:58:54 main.py:143 [INFO] find songlink:
2018-10-28 08:58:54 main.py:147 [INFO] http://zhangmenshiting.qianqian.com/data2/music/2d2955ad5f71328b78255d583feff591/599367367/7868299241200942.flac?xcode=28cef5a2ffa207fa1e0a87f01dbb9fb5
And, songs aren't match with those ones in my playlist:
The first song should be China-E by MengYuan Xu, the secound one should be My Way by Hins Cheung and the third one should be Stories by The Chakachas... So non of them so far are matched with my own playlist.
I hope you can improve that at some point by fatching the songs in CloudMusic's own resources but not using other services' "best-match results". Just some suggestions, hope you don't mind and thank you again for developing this project.
首先感谢作者的工作,但是在我的使用中发现字符串处理会有些问题,报错如下
Traceback (most recent call last):
File ".\python3_main.py", line 78, in
with open(filename, "wb") as code:
OSError: [Errno 22] Invalid argument: 'D:\NeteaseCloudMusicFlac/songs_dir/Do You? (Hope Us In Love)-Yiruma.flac'
I loaded the code into the Cloud 9 IDE and tried to run:
python main.py http://music.163.com/playlist?id=145258012
I got the following error:
Traceback (most recent call last):
File "main.py", line 44, in <module>
songlink = d["data"]["songList"][0]["songLink"]
IndexError: string index out of range
I printed 'd' from " d = json.loads(contents, encoding="utf-8") " and received the following error:
{u'errorCode': 22232, u'data': {u'xcode': u'', u'songList': u''}}
Couldn't figure out what exactly is wrong here, but I'd like to note it. I think it's either JSON or UTF related.
参考了作者的项目,下载下来的歌曲,在mac下可以用neteaseMusic播放吗
Create a task per song.
No connection adapters were found for ''http://music.163.com/playlist?id=145258012''
Using Python3 and python3_main.py.
如题
File "main.py", line 8
print "fetching msg from " + sys.argv[1] + "\n"
^
SyntaxError: Missing parentheses in call to 'print'
why need if size >= minimumsize:
歌单较长的情况下 大概率会遇到异常
增加重试和适当的请求延迟时间可能可以解决这个问题
Traceback (most recent call last):
File "C:\ProgramData\Anaconda3\lib\site-packages\urllib3\connection.py", line 141, in _new_conn
(self.host, self.port), self.timeout, **extra_kw)
File "C:\ProgramData\Anaconda3\lib\site-packages\urllib3\util\connection.py", line 83, in create_connection
raise err
File "C:\ProgramData\Anaconda3\lib\site-packages\urllib3\util\connection.py", line 73, in create_connection
sock.connect(sa)
TimeoutError: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\ProgramData\Anaconda3\lib\site-packages\urllib3\connectionpool.py", line 601, in urlopen
chunked=chunked)
File "C:\ProgramData\Anaconda3\lib\site-packages\urllib3\connectionpool.py", line 357, in _make_request
conn.request(method, url, **httplib_request_kw)
File "C:\ProgramData\Anaconda3\lib\http\client.py", line 1239, in request
self._send_request(method, url, body, headers, encode_chunked)
File "C:\ProgramData\Anaconda3\lib\http\client.py", line 1285, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "C:\ProgramData\Anaconda3\lib\http\client.py", line 1234, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "C:\ProgramData\Anaconda3\lib\http\client.py", line 1026, in _send_output
self.send(msg)
File "C:\ProgramData\Anaconda3\lib\http\client.py", line 964, in send
self.connect()
File "C:\ProgramData\Anaconda3\lib\site-packages\urllib3\connection.py", line 166, in connect
conn = self._new_conn()
File "C:\ProgramData\Anaconda3\lib\site-packages\urllib3\connection.py", line 150, in _new_conn
self, "Failed to establish a new connection: %s" % e)
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x0000020BD6B8F080>: Failed to establish a new connection: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\ProgramData\Anaconda3\lib\site-packages\requests\adapters.py", line 440, in send
timeout=timeout
File "C:\ProgramData\Anaconda3\lib\site-packages\urllib3\connectionpool.py", line 639, in urlopen
_stacktrace=sys.exc_info()[2])
File "C:\ProgramData\Anaconda3\lib\site-packages\urllib3\util\retry.py", line 388, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='music.taihe.com', port=80): Max retries exceeded with url: /data/music/fmlink?songIds=294052&type=flac (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x0000020BD6B
8F080>: Failed to establish a new connection: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。',))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "python3_main.py", line 73, in
r = requests.get(url, params=payload)
File "C:\ProgramData\Anaconda3\lib\site-packages\requests\api.py", line 72, in get
return request('get', url, params=params, **kwargs)
File "C:\ProgramData\Anaconda3\lib\site-packages\requests\api.py", line 58, in request
return session.request(method=method, url=url, **kwargs)
File "C:\ProgramData\Anaconda3\lib\site-packages\requests\sessions.py", line 508, in request
resp = self.send(prep, **send_kwargs)
File "C:\ProgramData\Anaconda3\lib\site-packages\requests\sessions.py", line 640, in send
history = [resp for resp in gen] if allow_redirects else []
File "C:\ProgramData\Anaconda3\lib\site-packages\requests\sessions.py", line 640, in
history = [resp for resp in gen] if allow_redirects else []
File "C:\ProgramData\Anaconda3\lib\site-packages\requests\sessions.py", line 218, in resolve_redirects
**adapter_kwargs
File "C:\ProgramData\Anaconda3\lib\site-packages\requests\sessions.py", line 618, in send
r = adapter.send(request, **kwargs)
File "C:\ProgramData\Anaconda3\lib\site-packages\requests\adapters.py", line 508, in send
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPConnectionPool(host='music.taihe.com', port=80): Max retries exceeded with url: /data/music/fmlink?songIds=294052&type=flac (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x0000020B
D6B8F080>: Failed to establish a new connection: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。',))
Could you write how to use typhon to download music?
I did this guide. But not work.
https://github.com/BurntSushi/nfldb/wiki/Python-&-pip-Windows-installation
Thanks in advance.
Traceback (most recent call last):
File "main.py", line 33, in
print value
UnicodeEncodeError: 'gbk' codec can't encode character u'\xa0' in position 3: illegal multibyte sequence
歌名貌似是这个
I'm Yours Under the Mistletoe(Cover Jason Mraz / Justin Bieber)
是全角括号吗……
不为谁而作的歌
find songid:
264554158
find songlink:
http://file.qianqian.com//data2/music/b20d80457529c2fe39bcf14e7005be68/264554472/264554472.mp3?xcode=2e590204fae885836b73a0f684021956&src="http%3A%2F%2Fpan.baidu.com%2Fshare%2Flink%3Fshareid%3D920132222%26uk%3D794016082"
./songs_dir/不为谁而作的歌 (原唱: 林俊杰)-徐佳莹,林俊杰.flac is downloading now ......
Traceback (most recent call last):
File "main.py", line 60, in
f = urllib2.urlopen(songlink)
File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 154, in urlopen
return opener.open(url, data, timeout)
File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 437, in open
response = meth(req, response)
File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 550, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 475, in error
return self._call_chain(_args)
File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 409, in _call_chain
result = func(_args)
File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 558, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 404: Not Found
试了无数个歌单都是报这个错。。跟我本地网络有关系吗?
NeteaseCloudMusicFlac>python python3_main.py http://music.163.com/#/playlist?id=145258012
fetching msg from http://music.163.com/#/playlist?id=145258012
http://music.163.com/playlist?id=145258012
解析json失败
Traceback (most recent call last):
File "python3_main.py", line 35, in <module>
for value in results:
NameError: name 'results' is not defined
Traceback (most recent call last):
File "main.py", line 71, in
size = int(headers['Content-Length']) / (1024 ** 2)
File "/usr/local/lib/python2.7/dist-packages/requests/structures.py", line 54, in getitem
return self._store[key.lower()][1]
KeyError: 'content-length'
python
Traceback (most recent call last):
File "python3_main.py", line 64, in
size = round(int(headers['Content-Length']) / (1024 ** 2), 2)
File "/usr/lib/python3/dist-packages/requests/structures.py", line 54, in getitem
return self._store[key.lower()][1]
KeyError: 'content-length'
python3
开始正常下了几首歌,然后出错了
执行下面命令(带单引号):
python python3_main.py 'http://music.163.com/#/my/m/music/playlist?id=171170686'
结果是:
E:\zzc\music>python python3_main.py 'http://music.163.com/#/my/m/music/playlist?id=171170686'
fetching msg from 'http://music.163.com/#/my/m/music/playlist?id=171170686'
Traceback (most recent call last):
File "python3_main.py", line 13, in
r = requests.get(url,headers={'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36'})
File "C:\softwares\python3\lib\site-packages\requests\api.py", line 72, in get
return request('get', url, params=params, **kwargs)
File "C:\softwares\python3\lib\site-packages\requests\api.py", line 58, in request
return session.request(method=method, url=url, **kwargs)
File "C:\softwares\python3\lib\site-packages\requests\sessions.py", line 508, in request
resp = self.send(prep, **send_kwargs)
File "C:\softwares\python3\lib\site-packages\requests\sessions.py", line 612, in send
adapter = self.get_adapter(url=request.url)
File "C:\softwares\python3\lib\site-packages\requests\sessions.py", line 703, in get_adapter
raise InvalidSchema("No connection adapters were found for '%s'" % url)
requests.exceptions.InvalidSchema: No connection adapters were found for ''http://music.163.com/my/m/music/playlist?id=171170686''
执行下面命令(不带单引号):
python python3_main.py http://music.163.com/#/my/m/music/playlist?id=171170686
结果是:
E:\zzc\music>python python3_main.py http://music.163.com/#/my/m/music/playlist?id=171170686
fetching msg from http://music.163.com/#/my/m/music/playlist?id=171170686
================================================================
Download finish!
Songs' directory is E:\zzc\music/songs_dir
但是music目录下并没有songs_dir目录,歌曲也没有下载
下载功能失效了吗?
Marine Snow
find songid: 删
find songlink: 删
Marine Snow / Op.9 is downloading now ......
Traceback (most recent call last):
File ".\python3_main.py", line 75, in <module>
with open(filename, "wb") as code:
FileNotFoundError: [Errno 2] No such file or directory: '删\\NeteaseCloudMusicFlac/songs_dir/Marine Snow / Op.9-MATSUOKA Hiroaki.flac'
I ran
python main.py 'http://music.163.com/#/album?id=34738495'
It seemed ok.
fetching Netease song list from http://music.163.com/#/album?id=34738495
路远
songid: 74223488
忘了她
songid: 73847386
好好的
songid: 129166190
Mr.Right
songid: 326928368
情感
songid: 246352407
内在
songid: 261898219
Opening
songid: 546575756
温暖
songid: 267751
释放
songid: 120882846
美好
songid: 561768440
好好的
songid: 129166190
跟屁虫1
违和感
餐厅失火
孤独的内心
调皮鬼
陆远的事件1
陆远的事件2
屌屌的
悬疑
songid: 241871856
跟屁虫2
好先生的叨叨
心灵洗礼
被关冷库1
被关冷库2
钢琴和手碟的玄幻
手碟主题
鬼鬼祟祟
songid: 567024324
犯罪道路
失去味觉
轻松
songid: 121033733
手碟和大提琴的对话1
手碟和大提琴的对话2
手碟和大提琴的对话3
Grow
songid: 571000058
Song About Love
songid: 10539093
================================================================
Download finish!
Songs' directory is /mnt/e/NeteaseCloudMusicFlac-master/songs_dir
But when I opened songs_dir folder, it was just empty.
C:\Users\Tianzp\AppData\Local\Programs\Python\Python36\python.exe C:/Users/Tianzp/Desktop/NeteaseCloudMusicFlac-master/NeteaseCloudMusicFlac-master/python3_main.py Traceback (most recent call last): File "C:/Users/Tianzp/Desktop/NeteaseCloudMusicFlac-master/NeteaseCloudMusicFlac-master/python3_main.py", line 11, in <module> print("fetching msg from %s \n" % sys.argv[1]) IndexError: list index out of range
这个链接也试了也打不开,vpn挂了和没挂都打不开
windows目录不能有引号",filename再替换下。
Traceback (most recent call last):
File "python3_main.py", line 113, in
with open(filename, "wb") as code:
OSError: [Errno 22] Invalid argument: 'D:\python\NeteaseCloudMusicFlac/songs_dir/Light And Lovely-Arnett Cobb,Arthur Edgehill,Buddy Tate,Coleman Hawkins,Eddie "Lockjaw" Davis,George Duvivier,Shirley Scott.flac'
人在国外,已经改了host。
歌曲信息读取成功但是下载目录没有文件。
附件为下载日志。
download.log
Glitter & Gold
Traceback (most recent call last):
File "main.py", line 71, in
songid = get_songid(value)
File "main.py", line 40, in get_songid
d = json.loads(contents, encoding="utf-8")
File "/usr/lib/python2.7/json/init.py", line 352, in loads
return cls(encoding=encoding, **kw).decode(s)
File "/usr/lib/python2.7/json/decoder.py", line 364, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python2.7/json/decoder.py", line 382, in raw_decode
raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
~/NeteaseCloudMusicFlac/python3_main.py http://music.163.com/#/playlist?id=145258012
No matches for wildcard 'http://music.163.com/#/playlist?id=145258012'. (Tip: empty matches are allowed in 'set', 'count', 'for'.)
fish: python ~/NeteaseCloudMusicFlac/python3_main.py http://music.163.com/#/playlist?id=145258012
CMD输入命令后提示:
File "main.py", line 7
<
!DOCTYPE html>
^
SyntaxError: invalid syntax
I tried
python3 python3_main.py 'http://music.163.com/#/album?id=34738495'
and I received an error:
fetching msg from http://music.163.com/#/album?id=34738495
路远
find songid: 74223488
Traceback (most recent call last):
File "python3_main.py", line 48, in <module>
songlink = d["data"]["songList"][0]["songLink"]
IndexError: string index out of range
I don't receive any errors when I run main.py code. I don't know why.
https://music.163.com/#/playlist?id=888963889
这个链接,显示有100个歌,每次下的数量都不同,数量大约在30-50之间。
建议可以查询的时候加入歌手信息,这样可以使结果更精确,因为有同名的歌存在
url = 'http://sug.music.baidu.com/info/suggestion'
mess = song_name + ' ' + singer
payload = {'word': mess, 'version': '2.1.1', 'from': '0'}
我基于你的代码写了一个https://github.com/miyunluo/NeteaseBaiduFlac
$ python main.py 'http://music.163.com/#/playlist?id=145258012'
$ python3 python3_main.py 'http://music.163.com/#/playlist?id=145258012'
$ python main.py http://music.163.com/#/playlist?id=145258012
$ python3 python3_main.py http://music.163.com/#/playlist?id=145258012
不能通过歌曲名下载吗?我用歌曲名下不来,只能用歌单才能下。。。
It doesn't work with Python 3. Is it possible to create a python 3 compatible version?
树莓派上的环境如下:
certifi-2018.8.24 chardet-3.0.4 idna-2.7 requests-2.19.1 urllib3-1.23
报错如下:
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/urllib3/connection.py", line 171, in _new_conn
(self._dns_host, self.port), self.timeout, **extra_kw)
File "/usr/local/lib/python3.5/dist-packages/urllib3/util/connection.py", line 79, in create_connection
raise err
File "/usr/local/lib/python3.5/dist-packages/urllib3/util/connection.py", line 69, in create_connection
sock.connect(sa)
TimeoutError: [Errno 110] Connection timed out
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/urllib3/connectionpool.py", line 600, in urlopen
chunked=chunked)
File "/usr/local/lib/python3.5/dist-packages/urllib3/connectionpool.py", line 354, in _make_request
conn.request(method, url, **httplib_request_kw)
File "/usr/lib/python3.5/http/client.py", line 1107, in request
self._send_request(method, url, body, headers)
File "/usr/lib/python3.5/http/client.py", line 1152, in _send_request
self.endheaders(body)
File "/usr/lib/python3.5/http/client.py", line 1103, in endheaders
self._send_output(message_body)
File "/usr/lib/python3.5/http/client.py", line 934, in _send_output
self.send(msg)
File "/usr/lib/python3.5/http/client.py", line 877, in send
self.connect()
File "/usr/local/lib/python3.5/dist-packages/urllib3/connection.py", line 196, in connect
conn = self._new_conn()
File "/usr/local/lib/python3.5/dist-packages/urllib3/connection.py", line 180, in _new_conn
self, "Failed to establish a new connection: %s" % e)
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x7599ee30>: Failed to establish a new connection: [Errno 110] Connection timed out
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/requests/adapters.py", line 445, in send
timeout=timeout
File "/usr/local/lib/python3.5/dist-packages/urllib3/connectionpool.py", line 638, in urlopen
_stacktrace=sys.exc_info()[2])
File "/usr/local/lib/python3.5/dist-packages/urllib3/util/retry.py", line 398, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='music.baidu.com', port=80): Max retries exceeded with url: /data/music/fmlink?songIds=315439071&type=flac (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7599ee30>: Failed to establish a new connection: [Errno 110] Connection timed out',))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "main.py", line 163, in
main()
File "main.py", line 138, in main
d = get_song_info(songid)
File "main.py", line 87, in get_song_info
r = requests.get(BAIDU_MUSIC_API, params=payload)
File "/usr/local/lib/python3.5/dist-packages/requests/api.py", line 72, in get
return request('get', url, params=params, **kwargs)
File "/usr/local/lib/python3.5/dist-packages/requests/api.py", line 58, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/local/lib/python3.5/dist-packages/requests/sessions.py", line 512, in request
resp = self.send(prep, **send_kwargs)
File "/usr/local/lib/python3.5/dist-packages/requests/sessions.py", line 622, in send
r = adapter.send(request, **kwargs)
File "/usr/local/lib/python3.5/dist-packages/requests/adapters.py", line 513, in send
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPConnectionPool(host='music.baidu.com', port=80): Max retries exceeded with url: /data/music/fmlink?songIds=315439071&type=flac (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7599ee30>: Failed to establish a new connection: [Errno 110] Connection timed out',))
PC上运行环境如下:
Python 3.7.0
Requirement already satisfied: requests in c:\users\51130\appdata\local\programs\python\python37\lib\site-packages (2.19.1)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in c:\users\51130\appdata\local\programs\python\python37\lib\site-packages (from requests) (3.0.4)
Requirement already satisfied: certifi>=2017.4.17 in c:\users\51130\appdata\local\programs\python\python37\lib\site-packages (from requests) (2018.8.24)
Requirement already satisfied: urllib3<1.24,>=1.21.1 in c:\users\51130\appdata\local\programs\python\python37\lib\site-packages (from requests) (1.23)
Requirement already satisfied: idna<2.8,>=2.5 in c:\users\51130\appdata\local\programs\python\python37\lib\site-packages (from requests) (2.7)
报错如下:
Traceback (most recent call last):
File "C:\Users\51130\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\connection.py", line 171, in _new_conn
(self._dns_host, self.port), self.timeout, **extra_kw)
File "C:\Users\51130\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\util\connection.py", line 79, in create_connection
raise err
File "C:\Users\51130\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\util\connection.py", line 69, in create_connection
sock.connect(sa)
TimeoutError: [WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\51130\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\connectionpool.py", line 600, in urlopen
chunked=chunked)
File "C:\Users\51130\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\connectionpool.py", line 354, in _make_request
conn.request(method, url, **httplib_request_kw)
File "C:\Users\51130\AppData\Local\Programs\Python\Python37\lib\http\client.py", line 1229, in request
self._send_request(method, url, body, headers, encode_chunked)
File "C:\Users\51130\AppData\Local\Programs\Python\Python37\lib\http\client.py", line 1275, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "C:\Users\51130\AppData\Local\Programs\Python\Python37\lib\http\client.py", line 1224, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "C:\Users\51130\AppData\Local\Programs\Python\Python37\lib\http\client.py", line 1016, in _send_output
self.send(msg)
File "C:\Users\51130\AppData\Local\Programs\Python\Python37\lib\http\client.py", line 956, in send
self.connect()
File "C:\Users\51130\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\connection.py", line 196, in connect
conn = self._new_conn()
File "C:\Users\51130\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\connection.py", line 180, in _new_conn
self, "Failed to establish a new connection: %s" % e)
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x0000024A26A6BBE0>: Failed to establish a new connection: [WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\51130\AppData\Local\Programs\Python\Python37\lib\site-packages\requests\adapters.py", line 445, in send
timeout=timeout
File "C:\Users\51130\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\connectionpool.py", line 638, in urlopen
_stacktrace=sys.exc_info()[2])
File "C:\Users\51130\AppData\Local\Programs\Python\Python37\lib\site-packages\urllib3\util\retry.py", line 398, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='sug.music.baidu.com', port=80): Max retries exceeded with url: /info/suggestion?word=%E6%B1%9F%E4%B8%8A%E6%B8%85%E9%A3%8E%E6%B8%B8&version=2&from=0 (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x0000024A26A6BBE0>: Failed to establish a new connection: [WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "main.py", line 163, in
main()
File "main.py", line 134, in main
songid = get_songid(value)
File "main.py", line 74, in get_songid
r = requests.get(BAIDU_SUGGESTION_API, params=payload)
File "C:\Users\51130\AppData\Local\Programs\Python\Python37\lib\site-packages\requests\api.py", line 72, in get
return request('get', url, params=params, **kwargs)
File "C:\Users\51130\AppData\Local\Programs\Python\Python37\lib\site-packages\requests\api.py", line 58, in request
return session.request(method=method, url=url, **kwargs)
File "C:\Users\51130\AppData\Local\Programs\Python\Python37\lib\site-packages\requests\sessions.py", line 512, in request
resp = self.send(prep, **send_kwargs)
File "C:\Users\51130\AppData\Local\Programs\Python\Python37\lib\site-packages\requests\sessions.py", line 622, in send
r = adapter.send(request, **kwargs)
File "C:\Users\51130\AppData\Local\Programs\Python\Python37\lib\site-packages\requests\adapters.py", line 513, in send
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPConnectionPool(host='sug.music.baidu.com', port=80): Max retries exceeded with url: /info/suggestion?word=%E6%B1%9F%E4%B8%8A%E6%B8%85%E9%A3%8E%E6%B8%B8&version=2&from=0 (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x0000024A26A6BBE0>: Failed to establish a new connection: [WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond'))
Traceback (most recent call last):
File "python3_main.py", line 12, in
r = requests.get(url,headers={'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36'})
。。。 。。。
raise InvalidSchema("No connection adapters were found for '%s'" % url)
requests.exceptions.InvalidSchema: No connection adapters were found for ''http://music.163.com/playlist?id=145258012''
报错如上,我是python3 ,win10系统
music.able.cat API, which is from JSBox script of "ACPlayer", provides flac
anyone who can add this, please do it.
curl 'http://api.able.cat/music/?t=wy&id=531051217' -H 'User-Agent: JSBoxMain/97 CFNetwork/811.5.4 Darwin/16.7.0'
{
"count": "1",
"data": [
{
"Album": "等你下课",
"ape": "",
"author": "《等你下课》- 周杰伦",
"flac": "http://vip.itwusun.com/music/ymusic/wy_999_531051217.flac?sign=3f51ffbf46d7388c72f920e1157af104",
"id": "531051217",
"INFO": "《等你下课 (with 杨瑞代)》- 周杰伦",
"lrc": "http://vip.itwusun.com/music/ymusic/wy_320_531051217.lrc?sign=810774605063adb36035d68494266e5d",
"mvurl": "http://vip.itwusun.com/music/ymusic/wy_hd_5819032.mp4?sign=c69c6e62e89ace11f55dd27bebeab2de",
"pic": "http://p4.music.126.net/A8qicH14toObbLpPMiKmBw==/109951163110962030.jpg",
"singer": "周杰伦",
"title": "等你下课 (with 杨瑞代)",
"url": "http://vip.itwusun.com/music/ymusic/wy_320_531051217.mp3?sign=21a6a8a8ebc9954c49b0b3279c0ee57c"
}
]
}
curl 'http://music.able.cat/download/api/?id=孙燕姿No.%2013作品:跳舞的梵谷' -H 'User-Agent: JSBoxMain/97 CFNetwork/811.5.4 Darwin/16.7.0'
{
"count": "10",
"data": [
{
"Album": "孙燕姿No. 13作品:跳舞的梵谷",
"ape": "",
"author": "《孙燕姿No. 13作品:跳舞的梵谷》- 孙燕姿",
"flac": "http://vip.itwusun.com/music/ymusic/wy_999_516657213.flac?sign=dc50af7bf957c2af4ccca3b54306a9e7",
"id": "516657213",
"INFO": "《风衣》- 孙燕姿",
"lrc": "http://vip.itwusun.com/music/ymusic/wy_320_516657213.lrc?sign=55a523bfa4c52db01490a4b9c50a2ca4",
"mvurl": "http://vip.itwusun.com/music/ymusic/wy_hd_5732043.mp4?sign=ccc5d2b5f6e3de0ab263bc838c16bb3f",
"pic": "http://p4.music.126.net/_VjuIgInJqwxdyoy4FF3IA==/18357446138140955.jpg",
"singer": "孙燕姿",
"title": "风衣",
"url": "http://vip.itwusun.com/music/ymusic/wy_320_516657213.mp3?sign=84a47524980dc5315b72c3ae543a12a7"
},
{
"Album": "孙燕姿No. 13作品:跳舞的梵谷",
"ape": "",
"author": "《孙燕姿No. 13作品:跳舞的梵谷》- 孙燕姿",
"flac": "http://vip.itwusun.com/music/ymusic/wy_999_516224840.flac?sign=690da54d90b88d24338f0024695971f0",
"id": "516224840",
"INFO": "《我很愉快》- 孙燕姿",
"lrc": "http://vip.itwusun.com/music/ymusic/wy_320_516224840.lrc?sign=931d83125e0c2a75f73ed4665f1e4f03",
"mvurl": "http://vip.itwusun.com/music/ymusic/wy_hd_5709017.mp4?sign=66830cafe3127aeebc754d6262b37ce0",
"pic": "http://p4.music.126.net/_VjuIgInJqwxdyoy4FF3IA==/18357446138140955.jpg",
"singer": "孙燕姿",
"title": "我很愉快",
"url": "http://vip.itwusun.com/music/ymusic/wy_320_516224840.mp3?sign=068be960e99bb0108008657973ccb73e"
},
{
"Album": "孙燕姿No. 13作品:跳舞的梵谷",
"ape": "",
"author": "《孙燕姿No. 13作品:跳舞的梵谷》- 孙燕姿",
"flac": "http://vip.itwusun.com/music/ymusic/wy_999_514055051.flac?sign=6a1c9c053c91c4b51e7e259ac5e554dd",
"id": "514055051",
"INFO": "《跳舞的梵谷》- 孙燕姿",
"lrc": "http://vip.itwusun.com/music/ymusic/wy_320_514055051.lrc?sign=ea3cfdede023e638e888e0bda7972f84",
"mvurl": "http://vip.itwusun.com/music/ymusic/wy_hd_5678356.mp4?sign=835ad25be65f2836596652fd6978b4cf",
"pic": "http://p4.music.126.net/_VjuIgInJqwxdyoy4FF3IA==/18357446138140955.jpg",
"singer": "孙燕姿",
"title": "跳舞的梵谷",
"url": "http://vip.itwusun.com/music/ymusic/wy_320_514055051.mp3?sign=08ccf6f9ead65c4d11f1f2349d10785b"
},
{
"Album": "孙燕姿No. 13作品:跳舞的梵谷",
"ape": "",
"author": "《孙燕姿No. 13作品:跳舞的梵谷》- 孙燕姿",
"flac": "http://vip.itwusun.com/music/ymusic/wy_999_516657215.flac?sign=c0cb6dc67b5c396e8f76f2c4d006b45f",
"id": "516657215",
"INFO": "《极美》- 孙燕姿",
"lrc": "http://vip.itwusun.com/music/ymusic/wy_320_516657215.lrc?sign=5149eb234cdd744c5107852eb3876e98",
"mvurl": "http://vip.itwusun.com/music/ymusic/wy_hd_5810580.mp4?sign=919d58b652740b81fb2cc92472ae7056",
"pic": "http://p4.music.126.net/_VjuIgInJqwxdyoy4FF3IA==/18357446138140955.jpg",
"singer": "孙燕姿",
"title": "极美",
"url": "http://vip.itwusun.com/music/ymusic/wy_320_516657215.mp3?sign=788de22641816573ffa764c9f224c408"
},
{
"Album": "孙燕姿No. 13作品:跳舞的梵谷",
"ape": "",
"author": "《孙燕姿No. 13作品:跳舞的梵谷》- 孙燕姿",
"flac": "http://vip.itwusun.com/music/ymusic/wy_999_516657214.flac?sign=2dc9cf24295d9e444dbf423cb3c40f41",
"id": "516657214",
"INFO": "《天天年年》- 孙燕姿",
"lrc": "http://vip.itwusun.com/music/ymusic/wy_320_516657214.lrc?sign=636f53f15b7ed2d6cf00d34670a9c6d8",
"mvurl": "http://vip.itwusun.com/music/ymusic/wy_hd_5741395.mp4?sign=b76af5f2eaaea8b880b65a992cf0847b",
"pic": "http://p4.music.126.net/_VjuIgInJqwxdyoy4FF3IA==/18357446138140955.jpg",
"singer": "孙燕姿",
"title": "天天年年",
"url": "http://vip.itwusun.com/music/ymusic/wy_320_516657214.mp3?sign=a98536be4d4ef6450256c0a4560cf8cc"
},
{
"Album": "孙燕姿No. 13作品:跳舞的梵谷",
"ape": "",
"author": "《孙燕姿No. 13作品:跳舞的梵谷》- 孙燕姿",
"flac": "http://vip.itwusun.com/music/ymusic/wy_999_516655202.flac?sign=db35357aa45a52312600f085cbfd7dab",
"id": "516655202",
"INFO": "《天越亮, 夜越黑》- 孙燕姿",
"lrc": "http://vip.itwusun.com/music/ymusic/wy_320_516655202.lrc?sign=7f1cdd4d6c818f226a9978b5a31193a8",
"mvurl": "",
"pic": "http://p4.music.126.net/_VjuIgInJqwxdyoy4FF3IA==/18357446138140955.jpg",
"singer": "孙燕姿",
"title": "天越亮, 夜越黑",
"url": "http://vip.itwusun.com/music/ymusic/wy_320_516655202.mp3?sign=bca9a17ba22ea159156ebdf925e09fa8"
},
{
"Album": "孙燕姿No. 13作品:跳舞的梵谷",
"ape": "",
"author": "《孙燕姿No. 13作品:跳舞的梵谷》- 孙燕姿",
"flac": "http://vip.itwusun.com/music/ymusic/wy_999_516654223.flac?sign=61f2cb78df4701048988feeb5660b2b7",
"id": "516654223",
"INFO": "《平日快乐》- 孙燕姿",
"lrc": "http://vip.itwusun.com/music/ymusic/wy_320_516654223.lrc?sign=6ef45b4e90c0e5f9410a9b54bf8f13ca",
"mvurl": "",
"pic": "http://p4.music.126.net/_VjuIgInJqwxdyoy4FF3IA==/18357446138140955.jpg",
"singer": "孙燕姿",
"title": "平日快乐",
"url": "http://vip.itwusun.com/music/ymusic/wy_320_516654223.mp3?sign=855505f793eaae2d7e79882acd435668"
},
{
"Album": "孙燕姿No. 13作品:跳舞的梵谷",
"ape": "",
"author": "《孙燕姿No. 13作品:跳舞的梵谷》- 孙燕姿",
"flac": "http://vip.itwusun.com/music/ymusic/wy_999_516655203.flac?sign=92d2f6010f3b4bbaa788795c87cff8f7",
"id": "516655203",
"INFO": "《超人类》- 孙燕姿",
"lrc": "http://vip.itwusun.com/music/ymusic/wy_320_516655203.lrc?sign=77148ef044b002cef923c708cd254e6e",
"mvurl": "",
"pic": "http://p4.music.126.net/_VjuIgInJqwxdyoy4FF3IA==/18357446138140955.jpg",
"singer": "孙燕姿",
"title": "超人类",
"url": "http://vip.itwusun.com/music/ymusic/wy_320_516655203.mp3?sign=5ee4f71645bbe4f7998d7d75e287d6f3"
},
{
"Album": "孙燕姿No. 13作品:跳舞的梵谷",
"ape": "",
"author": "《孙燕姿No. 13作品:跳舞的梵谷》- 孙燕姿",
"flac": "http://vip.itwusun.com/music/ymusic/wy_999_516655204.flac?sign=2681de1a787f5e125f94ca2138fd46b5",
"id": "516655204",
"INFO": "《充氧期》- 孙燕姿",
"lrc": "http://vip.itwusun.com/music/ymusic/wy_320_516655204.lrc?sign=23190ceae124579c7b8f17b036a4e9c7",
"mvurl": "http://vip.itwusun.com/music/ymusic/wy_hd_5779894.mp4?sign=81d906e96bc7f4e86551bf2467cbd595",
"pic": "http://p4.music.126.net/_VjuIgInJqwxdyoy4FF3IA==/18357446138140955.jpg",
"singer": "孙燕姿",
"title": "充氧期",
"url": "http://vip.itwusun.com/music/ymusic/wy_320_516655204.mp3?sign=cf64d9ea96cc9b1265744dc22b9039a4"
},
{
"Album": "孙燕姿No. 13作品:跳舞的梵谷",
"ape": "",
"author": "《孙燕姿No. 13作品:跳舞的梵谷》- 孙燕姿",
"flac": "http://vip.itwusun.com/music/ymusic/wy_999_516654222.flac?sign=6028024adc341fb5c08c18e186573f4c",
"id": "516654222",
"INFO": "《漂浮群岛》- 孙燕姿",
"lrc": "http://vip.itwusun.com/music/ymusic/wy_320_516654222.lrc?sign=ecedee987b78e44b8c42b5702eb151f1",
"mvurl": "",
"pic": "http://p4.music.126.net/_VjuIgInJqwxdyoy4FF3IA==/18357446138140955.jpg",
"singer": "孙燕姿",
"title": "漂浮群岛",
"url": "http://vip.itwusun.com/music/ymusic/wy_320_516654222.mp3?sign=20c4bcd2a1d61f2a2c10341404e6a3ca"
}
]
}
--- Logging error ---
Traceback (most recent call last):
File "d:\python36\lib\logging_init_.py", line 995, in emit
stream.write(msg)
UnicodeEncodeError: 'gbk' codec can't encode character '\xf6' in position 86: illegal multibyte sequence
Call stack:
File "python3_main.py", line 123, in
logger.info("%s is downloading now ......\n\n" % songname)
Message: 'Kickstart My Heart (as made famous by Mötley Crüe) is downloading now ......\n\n'
Arguments: ()
Traceback (most recent call last):
File "python3_main.py", line 69, in <module>
with open(filename, "wb") as code:
OSError: [Errno 22] Invalid argument: 'D:\\music download flac-ape\\NeteaseCloudMusicFlac-master/songs_dir/The Godfather Main Theme "The Godfather Waltz" (From "The Godfather")-The Original Movies Orchestra.flac'
只需使用urllib
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.