0. 引言
馬上314情人節就要來了,是否需要一首歌來撫慰你,受傷或躁動的心靈。來吧,今天教你用15行程式碼搞定熱門歌單。學起來並聽起來吧。
本文使用的是Selenium模組,它是一個自動化測試工具,利用它我們可以驅動瀏覽器執行特定的動作,如點選、下拉等等操作,對於一些 JavaScript 渲染的頁面來說,此種抓取方式非常有效。另外採用了Chrome瀏覽器配合Selenium工作。
1. 環境
作業系統:Windows
Python版本:3.7.2
2. 準備工作
a. 若你的環境中沒有selenium模組,直接使用pip安裝即可。
pip install selenium
複製程式碼
b. 開啟谷歌瀏覽器,檢查Chrome的版本:在瀏覽器地址中輸入 chrome://settings/help 回車即可看到。
c. 開啟ChromeDriver 的官方網站: https://sites.google.com/a/chromium.org/chromedriver/downloads 尋找與你當前瀏覽器版本相對應的ChromeDriver下載。
d. 選擇你自己的作業系統型別進行下載即可。
e. 以Windows為例,下載結束後,將ChromeDriver 放置在python安裝目錄下的Scripts資料夾即可。
準備工作完成,程式碼寫起來吧~
3. 迷你爬蟲的實現
我們這次的目標是爬取熱門歌單,比如網易雲音樂中播放量大於1000萬的歌單資訊(歌單名稱、連結)。
a. 我們先來開啟網易雲的歌單第一頁: https://music.163.com/#/discover/playlist/?order=hot&cat=%E5%85%A8%E9%83%A8&limit=35&offset=0
b. 使用Chrome的開發者工具進行分析。
我們想要拿的資訊全在這裡:
- msk,封面[mask]:有歌單的名稱及連結
- nb,播放數[number broadcast]:135萬
c. 我們還需要遍歷所有的頁,使用工具繼續分析,找到“下一頁”的URL。
d. 切換至最後一頁,拿到最後一頁的URL。
e. 等我們爬取完所有符合的歌單資訊後,將其儲存在本地。
f. 全部工作結束,最後再通過下面的虛擬碼回顧下整體思路。
g. 爬取的效果如下:
4. 總結
本文旨在安撫你因情人節受傷的小心靈,同時帶你入個爬蟲的門,感受下python的強大。
關注公眾號「Python專欄」,後臺回覆:zsxq02,獲取本文全部程式碼