import concurrent.futures
import datetime
import bs4
import requests
id = input("请帅哥靓女输入想要下载的榜单:")
start_time = datetime.datetime.now()
url = f'https://music.163.com/discover/toplist?id={id}'
headers = {
'user-agent':'Mozilla/5.0(Window NT 10.0
}
resp = requests.get(url,headers=headers)
text = resp.text
def caidan(a):
ext_ulr = a['href']
if ext_ulr == "":
return
splited = str(ext_ulr).split('id=')
if len(splited)<2:
return
music_id = splited[1]
music_url = f'http:music.163.com/song/media/outer/url?id{music_id}'
music_resp = requests.get(music_url,headers = headers)
music_content = music_resp.content
music_name = a.text
with open(f'music/{music_name}.mp3','wb') as file:
file.write(music_content)
print(f"下载完成:{music_name}")
parsed = bs4.BeautifulSoup(text,'html.parser')
many_a = parsed.find('ul',attrs={'class':'f-hide'}).find_all('a')
with concurrent.futures.ThreadPoolExecutor(max_workers=10000) as shuaige:
for a in many_a:
shuaige.submit(caidan,a)