體驗(yàn):跳過限制爬取音樂資源
發(fā)布時(shí)間:2022-01-20 16:52 [ 我要自學(xué)網(wǎng)原創(chuàng) ] 發(fā)布人: 快樂小女 閱讀: 12603

手把手教你寫一個(gè)爬蟲

經(jīng)常聽音樂的的人有一個(gè)苦惱,很多自己喜歡的歌曲,因?yàn)楦鞣N原因無法進(jìn)行免費(fèi)下載。很多人沒辦法,只能咬咬牙開個(gè)會(huì)員,都是自己辛苦掙的人民幣啊

幸好,我們還有爬蟲!

通過爬蟲,我們可以很輕易,很快速的獲取互聯(lián)網(wǎng)上的資源,不管是音樂視頻,還是工作和商業(yè)中所需要的數(shù)據(jù),都可以使用爬蟲輕松獲取。

百分之90以上的爬蟲程序都用Python語言完成,那么什么是爬蟲?

網(wǎng)絡(luò)爬蟲,是一種按照一定的規(guī)則,自動(dòng)地抓取萬維網(wǎng)信息的程序或者腳本。

目前爬蟲工程師也是互聯(lián)網(wǎng)炙手可熱的崗位之一。這里參考了北京市爬蟲工程師薪酬?duì)顩r:

那么今天我們就來上手寫一個(gè)爬蟲。

一、準(zhǔn)備工作

學(xué)習(xí)爬蟲不難,但是基本的Python知識(shí)要有!

建議大家先學(xué)習(xí)我要自學(xué)網(wǎng)《Python初學(xué)者教程》中的一部分內(nèi)容:

必備章節(jié)如下:

第一章、初識(shí)Python

第二章、變量、數(shù)據(jù)類型

第三章、選擇結(jié)構(gòu)

第四章、循環(huán)結(jié)構(gòu)

第五章、函數(shù)和模塊

第六章、文件讀寫

這些章節(jié)面向初學(xué)者,非常簡單,學(xué)完就可以看懂爬蟲的大部分教程了。

然后就可以學(xué)習(xí)《Python爬蟲教程》,開始你的爬蟲之旅!

有了基礎(chǔ)知識(shí)做鋪墊之后,我們就可以上手音樂資源寫爬蟲了,寫之前我們需要通過pip工具安裝一個(gè)request模塊:

二、分析網(wǎng)站


這是一個(gè)音樂列表,其中的歌曲限制下載個(gè)數(shù),我們希望利用爬蟲突破限制下載列表中的音樂到本地。

通過瀏覽器抓包,我們發(fā)現(xiàn)每一頁請(qǐng)求的鏈接是這樣的:


中間的pageIndex就是每一頁的頁碼信息,我們想要爬取音樂信息需要先爬取每一頁的網(wǎng)頁信息,再從網(wǎng)頁信息中找到音樂的url,也就是拿到音樂在服務(wù)器中的相對(duì)地址,就可以很輕易的下載到音樂。

這里的title為音樂名,sid是音樂的編號(hào),通過音樂編號(hào)可以拼接出音樂資源的url。

以上就是音樂資源的url,其中的1621,也就是sid,我們只要獲取了每首歌曲的sid,是不是就可以拼接出歌曲資源的url,就可以直接拿到歌曲資源了?

我們順便把獲取到的title設(shè)置為歌曲名,把音樂資源以對(duì)應(yīng)歌曲名保存到本地文件,就完成了音樂的下載。

其中具體的代碼實(shí)現(xiàn)可以參考下面步驟,我們繼續(xù)往后看。

三、爬取音樂列表

我們利用sublime 新建一個(gè)Python文件,并準(zhǔn)備好以下數(shù)據(jù):

稍后我們爬取到的音樂sid會(huì)保存到songId中,音樂名會(huì)保存到songName中。

然后通過循環(huán)構(gòu)造每一頁音樂列表的url,利用requests爬取到列表所在的網(wǎng)頁,這時(shí)我們需要的title信息和sid信息都在這個(gè)網(wǎng)頁中。代碼如下:

最終我們拿到所有的title和sid ,裝在了兩個(gè)列表中。等下我們用來構(gòu)造歌曲url。

四、爬取歌曲資源

下面就是構(gòu)造歌曲資源url,爬取歌曲了!我們依然用requests模塊來處理:

我們用requests.get().content獲取到了音樂文件,這是一個(gè)二進(jìn)制文件,用response接收了這個(gè)文件,等下我們就可以直接把response寫入到本地。

五、保存音樂到本地

最終,我們以二進(jìn)制的方式把音樂資源寫到本地文件,在這里我們使用到了音樂名,剛好跟我們下載的音樂資源一一對(duì)應(yīng)。

現(xiàn)在整個(gè)爬蟲項(xiàng)目就完成了,我們來看一下執(zhí)行結(jié)果:

六、執(zhí)行結(jié)果

執(zhí)行之前我們首先要保證本地是否設(shè)置好了對(duì)應(yīng)的文件夾,我們?cè)?/font>E盤

新建了一個(gè)music文件夾,程序執(zhí)行后會(huì)將音樂保存到這里:

我們看到,音樂已經(jīng)保存到了指定的文件夾,而且速度很喲!

終于可以好好享受下優(yōu)美動(dòng)聽的音樂了。

在這里我們只是給出了一個(gè)簡單的例子,詳細(xì)系統(tǒng)的教程,大家可以在我要自學(xué)網(wǎng)中搜索《Python爬蟲教程》。

本教程內(nèi)容涵蓋了網(wǎng)絡(luò)爬蟲的原理以及開發(fā)邏輯,網(wǎng)絡(luò)爬蟲基礎(chǔ)知識(shí),數(shù)據(jù)清洗,Scrapy框架等內(nèi)容。在介紹網(wǎng)絡(luò)爬蟲基本原理的同時(shí),注重具體的代碼實(shí)現(xiàn),加深讀者對(duì)爬蟲的理解,加強(qiáng)讀者的實(shí)戰(zhàn)能力。趕快來開始你的爬蟲之路吧!

視頻網(wǎng)址:https://www.51zxw.net/List.aspx?cid=732

Python爬蟲教程
我要自學(xué)網(wǎng)商城 ¥55 元
進(jìn)入購買
文章評(píng)論
0 條評(píng)論 按熱度排序 按時(shí)間排序 /350
添加表情
遵守中華人民共和國的各項(xiàng)道德法規(guī),
承擔(dān)因您的行為而導(dǎo)致的法律責(zé)任,
本站有權(quán)保留或刪除有爭議評(píng)論。
參與本評(píng)論即表明您已經(jīng)閱讀并接受
上述條款。
V
特惠充值
聯(lián)系客服
APP下載
官方微信
返回頂部