Giter Club home page Giter Club logo

neteasecloudmusicflac's Issues

Fix encoding/url entry

$ 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后,提示歌曲下载成功,可以在目标地址生成目标文件夹,但是里面没有任何歌曲!
同样的歌单,如果不更改下载路径,是可以正常下载!
我想问下,这是什么问题捏?

Songs Not Match

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:

image

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.

对filename字符串的处理不够鲁棒

首先感谢作者的工作,但是在我的使用中发现字符串处理会有些问题,报错如下
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'

JSON contents not loading correctly.

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.

isssues

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] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。',))

好像编码有点问题……

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)

是全角括号吗……

Program will Crash when the song link is a wrong URL.

不为谁而作的歌
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

解析json失败

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


开始正常下了几首歌,然后出错了

win10 python3 cmd无法使用

执行下面命令(带单引号):
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目录,歌曲也没有下载

在歌曲名含有/的时候,会爆FileNotFoundException

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'

Empty songs_dir folder after run main.py

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.

使用代码出现错误,应该是url的问题,求如何解决

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
image
这个链接也试了也打不开,vpn挂了和没挂都打不开
image

文件名问题?

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'

估计网易云网页的json获取发生了变化

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

Error "IndexError: string index out of range" when run python3_main.py code

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.

下载失败

有一些歌单,在terminal里面显示完歌名之后马上显示 ”Download finish!“
但是歌曲并没有下载到文件夹里。
screen shot 2018-08-17 at 3 55 56 pm

README里面的示例命令有问题

python2示例命令

$ python main.py 'http://music.163.com/#/playlist?id=145258012'

python3示例命令

$ python3 python3_main.py 'http://music.163.com/#/playlist?id=145258012'

网址应该去掉引号,应该改为:

python2示例命令

$ python main.py http://music.163.com/#/playlist?id=145258012

python3示例命令

$ python3 python3_main.py http://music.163.com/#/playlist?id=145258012

使用问题

不能通过歌曲名下载吗?我用歌曲名下不来,只能用歌单才能下。。。

python 3 support?

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'))

国内用户的未知错误 in<module>

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系统

API From music.able.cat

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: ()

When doing download , Invalid 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'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.