import
re
import
requests
import
os
import
time
headers
=
{
'User-Agent'
:
'Chrome/10'
}
def
main():
print
(
'例如:罗大佑的网址是:[url]https://music.163.com/#/artist?id=3686'
[
/
url],
'\n'
,
'ID就是:3686'
)
ID
=
input
(
"请输入歌手ID:"
)
url
=
'https://music.163.com/artist?id='
+
ID
html
=
requests.get(url,headers).text
get_id(html)
def
get_id(html):
findlink
=
re.
compile
(r
'<a href="/song\?id=(\d*)">(.*?)</a></li><li>'
)
findname
=
re.
compile
(r
'<h2 id="artist-name" data-rid=\d* class="sname f-thide sname-max" title=".*?">(.*?)</h2>'
)
singername
=
re.findall(findname,html)[
0
]
creat(singername)
ll
=
re.findall(findlink,html)
for
i
in
ll:
savemusic(i[
1
],i[
0
])
time.sleep(
0.5
)
def
creat(singername):
if
not
os.path.exists(singername):
os.mkdir(singername)
os.chdir(singername)
def
savemusic(name,
id
):
url
=
'http://music.163.com/song/media/outer/url?id='
+
id
+
'.mp3'
with
open
(name
+
'.m4a'
,
'wb'
) as f:
print
(
'歌曲《'
,name,
'》 下载中***************'
)
f.write(requests.get(url
=
url,headers
=
headers).content)
f.close()
print
(
"《"
,name,
"》下载完成"
)
print
('')
if
__name__
=
=
'__main__'
:
main()