0. 引言今天是國際著名的214情人節(jié),你過的是情人節(jié)還是正月初十呢?是否需要一首歌來撫慰你,受傷或躁動(dòng)的心靈。來吧,今天教你用15行代碼搞定熱門歌單。學(xué)起來并聽起來吧。 本文使用的是Selenium模塊,它是一個(gè)自動(dòng)化測試工具,利用它我們可以驅(qū)動(dòng)瀏覽器執(zhí)行特定的動(dòng)作,如點(diǎn)擊、下拉等等操作,對(duì)于一些 JavaScript 渲染的頁面來說,此種抓取方式非常有效。另外采用了Chrome瀏覽器配合Selenium工作。 操作系統(tǒng):Windows Python版本:3.7.2 a. 若你的環(huán)境中沒有selenium模塊,直接使用pip安裝即可。
b. 打開谷歌瀏覽器,檢查Chrome的版本:在瀏覽器地址中輸入 chrome://settings/help 回車即可看到。 c. 打開ChromeDriver 的官方網(wǎng)站: 尋找與你當(dāng)前瀏覽器版本相對(duì)應(yīng)的ChromeDriver下載。 d. 選擇你自己的操作系統(tǒng)類型進(jìn)行下載即可。 e. 以Windows為例,下載結(jié)束后,將ChromeDriver 放置在python安裝目錄下的Scripts文件夾即可。 準(zhǔn)備工作完成,代碼寫起來吧~ 我們這次的目標(biāo)是爬取熱門歌單,比如網(wǎng)易云音樂中播放量大于1000萬的歌單信息(歌單名稱、鏈接)。 a. 我們先來打開網(wǎng)易云的歌單第一頁:
b. 使用Chrome的開發(fā)者工具進(jìn)行分析。 我們想要拿的信息全在這里: msk,封面[mask]:有歌單的名稱及鏈接 nb,播放數(shù)[number broadcast]:135萬 c. 我們還需要遍歷所有的頁,使用工具繼續(xù)分析,找到“下一頁”的URL。 d. 切換至最后一頁,拿到最后一頁的URL。 e. 等我們爬取完所有符合的歌單信息后,將其保存在本地。 f. 全部工作結(jié)束,最后再通過下面的偽代碼回顧下整體思路。
g. 爬取的效果如下: 本文旨在安撫你因情人節(jié)受傷的小心靈,同時(shí)帶你入個(gè)爬蟲的門,感受下python的強(qiáng)大。
|
|