QQ音樂網頁版搜索周杰倫后出現歌曲清單 但是沒有辦法翻頁
顯示要下載客戶端
但是教程上的代碼卻可以實作
試問大神問為什么可以呢?
import requests
# 參考requests模塊
url = 'https://c.y.qq.com/soso/fcgi-bin/client_search_cp'
for x in range(5): params = { 'ct':'24', 'qqmusic_ver': '1298', 'new_json':'1', 'remoteplace':'sizer.yqq.song_next', 'searchid':'64405487069162918', 't':'0', 'aggr':'1', 'cr':'1', 'catZhida':'1', 'lossless':'0', 'flag_qc':'0', 'p':str(x+1), 'n':'20', 'w':'周杰倫', 'g_tk':'5381', 'loginUin':'0', 'hostUin':'0', 'format':'json', 'inCharset':'utf8', 'outCharset':'utf-8', 'notice':'0', 'platform':'yqq.json', 'needNewCode':'0' } # 將引數封裝為字典 res_music = requests.get(url,params=params) # 呼叫get方法,下載這個字典 json_music = res_music.json() # 使用json()方法,將response物件,轉為串列/字典 list_music = json_music['data']['song']['list'] # 一層一層地取字典,獲取歌單串列 for music in list_music: # list_music是一個串列,music是它里面的元素 print(music['name']) # 以name為鍵,查找歌曲名 print('所屬專輯:'+music['album']['name']) # 查找專輯名 print('播放時長:'+str(music['interval'])+'秒') # 查找播放時長 print('播放鏈接:https://y.qq.com/n/yqq/song/'+music['mid']+'.html\n\n') # 查找播放鏈接
uj5u.com熱心網友回復:
搜索后顯示的url中有的page引數,需要修改的,不然只會之爬取第一頁
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/102381.html
