專案目標
獲取 QQ 音樂指定歌手單曲排行指定頁數的歌曲的歌名、專輯名、播放鏈接,
由淺入深,層層遞進,非常適合剛入門的同學練手,
PS:如有需要Python學習資料的小伙伴可以加下方的群去找免費管理員領取
可以免費領取原始碼、專案實戰視頻、PDF檔案等
需要的庫
主要涉及的庫有:requests、json、openpyxl
專案實作
1.了解 QQ 音樂網站的 robots 協議
只禁止播放串列,可以操作,
2.進入 QQ 音樂主頁 https://y.qq.com/
3.輸入任意歌手,比如鄧紫棋
4.打開審查元素(快捷鍵 Ctrl+Shift+I)
5.分析網頁源代碼 Elements,發現無歌曲資訊,無法使用 BeautifulSoup,如下圖所示,結果為空,
6.點擊 Network,看資料在不在 XHR(無重繪更新頁
面),我的經驗是先看 Size 最大的,然后分析 Name,
查看 Preview,果然在里面!
7.點擊 Headers,拿到相關引數,如下圖,仔細觀察
url 與 Query String Parameters 引數的關系,發現
url 中的 w 代表歌手名,p 代表頁數,
8.通過 json 代碼實作,首先小試牛刀,爬取第一頁
的資料,url 直接復制過來,成功!
9.引入 params 引數,實作指定歌手、指定頁數的查詢,
注意代碼url為上一步url中“?”之前的部分, params兩邊的引數都需要加 ’’,requests.get 添加 params,引數(也可順便添加 headers 引數)
10. 添加存盤功能,保存到本地(Excel),也可保存為 csv 格式或存入資料庫,操作類似,
總結
1.爬取 QQ 音樂比爬取豆瓣等網站稍難,所需資訊不在網頁源代碼,需查看 XHR;
2.通過 XHR 爬取資料一般要使用 json,格式為:
res = requests.get(url)json = res.json()list = json[‘’][‘’]…
本文的文字及圖片來源于網路,僅供學習、交流使用,不具有任何商業用途,著作權歸原作者所有,如有問題請及時聯系我們以作處理,
作者:IT共享者
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/27464.html
標籤:Python
上一篇:PHP丨PHP基礎知識之流程控制WHILE回圈「理論篇」
下一篇:Python全堆疊課程004
