15行Python代碼實(shí)現(xiàn)網(wǎng)易云熱門歌單實(shí)例教程
0. 引言
馬上314情人節(jié)就要來(lái)了,是否需要一首歌來(lái)?yè)嵛磕悖軅蛟陝?dòng)的心靈。來(lái)吧,今天教你用15行代碼搞定熱門歌單。學(xué)起來(lái)并聽起來(lái)吧。
本文使用的是Selenium模塊,它是一個(gè)自動(dòng)化測(cè)試工具,利用它我們可以驅(qū)動(dòng)瀏覽器執(zhí)行特定的動(dòng)作,如點(diǎn)擊、下拉等等操作,對(duì)于一些 JavaScript 渲染的頁(yè)面來(lái)說(shuō),此種抓取方式非常有效。另外采用了Chrome瀏覽器配合Selenium工作。
下面話不多說(shuō)了,來(lái)一起看看詳細(xì)的介紹吧
1. 環(huán)境
操作系統(tǒng):Windows
Python版本:3.7.2
2. 準(zhǔn)備工作
a. 若你的環(huán)境中沒有selenium模塊,直接使用pip安裝即可。
pip install selenium
b. 打開谷歌瀏覽器,檢查Chrome的版本:在瀏覽器地址中輸入 chrome://settings/help 回車即可看到。
c. 打開ChromeDriver 的官方網(wǎng)站:
https://sites.google.com/a/ch...
尋找與你當(dāng)前瀏覽器版本相對(duì)應(yīng)的ChromeDriver下載。
d. 選擇你自己的操作系統(tǒng)類型進(jìn)行下載即可。
e. 以Windows為例,下載結(jié)束后,將ChromeDriver 放置在python安裝目錄下的Scripts文件夾即可。
準(zhǔn)備工作完成,代碼寫起來(lái)吧~
3. 迷你爬蟲的實(shí)現(xiàn)
我們這次的目標(biāo)是爬取熱門歌單,比如網(wǎng)易云音樂中播放量大于1000萬(wàn)的歌單信息(歌單名稱、鏈接)。
a. 我們先來(lái)打開網(wǎng)易云的歌單第一頁(yè):
https://music.163.com/#/disco...
b. 使用Chrome的開發(fā)者工具<F12>進(jìn)行分析。
我們想要拿的信息全在這里:
- msk,封面[mask]:有歌單的名稱及鏈接
- nb,播放數(shù)[number broadcast]:135萬(wàn)
c. 我們還需要遍歷所有的頁(yè),使用工具繼續(xù)分析,找到“下一頁(yè)”的URL。
d. 切換至最后一頁(yè),拿到最后一頁(yè)的URL。
e. 等我們爬取完所有符合的歌單信息后,將其保存在本地。
f. 全部工作結(jié)束,最后再通過(guò)下面的偽代碼回顧下整體思路。
g. 爬取的效果如下:
4. 總結(jié)
本文旨在安撫你因情人節(jié)受傷的小心靈,同時(shí)帶你入個(gè)爬蟲的門,感受下python的強(qiáng)大。
好了,以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
詳解Python 多線程 Timer定時(shí)器/延遲執(zhí)行、Event事件
這篇文章主要介紹了Python 多線程 Timer定時(shí)器/延遲執(zhí)行、Event事件的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-06-06python zip,lambda,map函數(shù)代碼實(shí)例
這篇文章主要介紹了python zip,lambda,map函數(shù)代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04Python的Django中django-userena組件的簡(jiǎn)單使用教程
這篇文章主要介紹了Python的Django中django-userena組件的簡(jiǎn)單使用教程,包括用戶登陸和注冊(cè)等簡(jiǎn)單功能的實(shí)現(xiàn),需要的朋友可以參考下2015-05-05python語(yǔ)言是免費(fèi)還是收費(fèi)的?
在本篇文章里小編給大家分享的是關(guān)于python語(yǔ)言是否免費(fèi)的相關(guān)知識(shí)點(diǎn),需要的朋友們可以學(xué)習(xí)下。2020-06-06Python解析json時(shí)提示“string indices must be integers”問(wèn)題解決方法
這篇文章主要介紹了Python解析json時(shí)提示“string indices must be integers”問(wèn)題解決方法,結(jié)合實(shí)例形式分析了Python解析json字符串操作規(guī)范與相關(guān)使用技巧,需要的朋友可以參考下2019-07-07使用PyTorch實(shí)現(xiàn)限制GPU顯存的可使用上限
從?PyTorch?1.4?版本開始,引入了一個(gè)新的功能,可以允許用戶為特定的?GPU?設(shè)備設(shè)置進(jìn)程可使用的顯存上限比例,下面我們就來(lái)看看具體實(shí)現(xiàn)方法吧2024-03-03PyQT5實(shí)現(xiàn)選項(xiàng)卡窗口、堆棧窗口、??看翱?、子窗口
這篇文章主要介紹了PyQT5實(shí)現(xiàn)選項(xiàng)卡窗口、堆棧窗口、??看翱凇⒆哟翱?,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04python中關(guān)于eval函數(shù)的使用及說(shuō)明
這篇文章主要介紹了python中關(guān)于eval函數(shù)的使用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05django框架如何集成celery進(jìn)行開發(fā)
本文給大家詳細(xì)講解了在django框架中如何集成celery進(jìn)行開發(fā),步驟非常詳細(xì),有需要的小伙伴可以參考下2017-05-05Pytorch+PyG實(shí)現(xiàn)GraphConv過(guò)程示例詳解
這篇文章主要為大家介紹了Pytorch+PyG實(shí)現(xiàn)GraphConv過(guò)程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04