0. 引言今天是國(guó)際著名的214情人節(jié),你過(guò)的是情人節(jié)還是正月初十呢?是否需要一首歌來(lái)?yè)嵛磕悖軅蛟陝?dòng)的心靈。來(lái)吧,今天教你用15行代碼搞定熱門(mén)歌單。學(xué)起來(lái)并聽(tīng)起來(lái)吧。 本文使用的是Selenium模塊,它是一個(gè)自動(dòng)化測(cè)試工具,利用它我們可以驅(qū)動(dòng)瀏覽器執(zhí)行特定的動(dòng)作,如點(diǎn)擊、下拉等等操作,對(duì)于一些 JavaScript 渲染的頁(yè)面來(lái)說(shuō),此種抓取方式非常有效。另外采用了Chrome瀏覽器配合Selenium工作。 操作系統(tǒng):Windows Python版本:3.7.2 a. 若你的環(huán)境中沒(méi)有selenium模塊,直接使用pip安裝即可。
b. 打開(kāi)谷歌瀏覽器,檢查Chrome的版本:在瀏覽器地址中輸入 chrome://settings/help 回車即可看到。 c. 打開(kāi)ChromeDriver 的官方網(wǎng)站: 尋找與你當(dāng)前瀏覽器版本相對(duì)應(yīng)的ChromeDriver下載。 d. 選擇你自己的操作系統(tǒng)類型進(jìn)行下載即可。 e. 以Windows為例,下載結(jié)束后,將ChromeDriver 放置在python安裝目錄下的Scripts文件夾即可。 準(zhǔn)備工作完成,代碼寫(xiě)起來(lái)吧~ 我們這次的目標(biāo)是爬取熱門(mén)歌單,比如網(wǎng)易云音樂(lè)中播放量大于1000萬(wàn)的歌單信息(歌單名稱、鏈接)。 a. 我們先來(lái)打開(kāi)網(wǎng)易云的歌單第一頁(yè):
b. 使用Chrome的開(kāi)發(fā)者工具進(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. 爬取的效果如下: 本文旨在安撫你因情人節(jié)受傷的小心靈,同時(shí)帶你入個(gè)爬蟲(chóng)的門(mén),感受下python的強(qiáng)大。
|
|
來(lái)自: python學(xué)習(xí)者 > 《python文章》