python3 爬取全名k歌
代码:
import re
import requests
import ssl
ssl._create_default_https_context=ssl._create_unverified_context
k=0
if __name__ == \'__main__\':
url = \'https://kg.qq.com/node/personal?uid=649c9583262436\'
params={
\'uid\':\'649c9583262436\'
}
headers={
\'user-agent\':\'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36\'
}
response=requests.get(url=url,headers=headers,params=params)
p=\'<a href="(https://node.kg.qq.com/play?.+?g_f=personal)"\'
new_url=re.findall(p,response.text)
new_url = set(new_url)
new_url = list(new_url)
print(new_url)
for i in new_url:
new_p = \'"playurl":"(http:.+?sdtfrom=v1506.+?)"\'
response2 = requests.get(url=i, headers=headers)
music_url=re.findall(new_p, response2.text)[0]
print(music_url)
if music_url:
music_url=music_url
response3=requests.get(url=music_url,headers=headers)
with open(\'%s.m4a\'%k,\'wb\')as f:
f.write(response3.content)
k+=1
效果图:
关于优化:
1.歌曲名字优化:用正则匹配歌曲名,并赋给歌曲
2.速度优化:开启多线程,实现并发,提高效率
3.查看更多优化:获取查更多的连接,下载剩下的歌曲
4.软件优化:做成软件,增加前端界面,输入连接就可以下载