1 #11 按照提示输入歌手名字,爬取该歌手所有歌曲信息
2
3 import requests
4 from bs4 import BeautifulSoup
5 from urllib.request import quote
6
7 w_name = input('请输入你喜欢的歌手名字: ')
8 w_code = quote(w_name)
9
10 res = requests.get('https://c.y.qq.com/soso/fcgi-bin/client_search_cp?ct=24&qqmusic_ver=1298&new_json=1&remoteplace=txt.yqq.song&searchid=59511865801247509&t=0&aggr=1&cr=1&catZhida=1&lossless=0&flag_qc=0&p=1&n=10&w={}&g_tk=5381&loginUin=0&hostUin=0&format=json&inCharset=utf8&outCharset=utf-8¬ice=0&platform=yqq.json&needNewCode=0'.format(w_code))
11 html = res.json()
12 music_list = html['data']['song']['list']
13 total_num = html['data']['song']['totalnum']
14 total_page = int(total_num / 10) + 1
15 #print(total_page)
16 gequid= 0
17 for pages in range(1,total_page):
18 res = requests.get('https://c.y.qq.com/soso/fcgi-bin/client_search_cp?ct=24&qqmusic_ver=1298&new_json=1&remoteplace=txt.yqq.song&searchid=59511865801247509&t=0&aggr=1&cr=1&catZhida=1&lossless=0&flag_qc=0&p={}&n=10&w={}&g_tk=5381&loginUin=0&hostUin=0&format=json&inCharset=utf8&outCharset=utf-8¬ice=0&platform=yqq.json&needNewCode=0'.format(pages,w_code))
19 html = res.json()
20 music_list = html['data']['song']['list']
21 for i in range(len(music_list)):
22 gequid = gequid + 1
23 print(gequid,end='\t')
24 print(music_list[i]['name'],end='\t')
25 print(music_list[i]['album']['name'],end='\t')
26 print(music_list[i]['interval'],end='\t')
27 print(music_list[i]['url'])