當(dāng)你學(xué)會(huì)了Python爬蟲(chóng)技術(shù)之后看到什么都想去爬一下,今天小千就來(lái)教大家如何去獲取虎牙直播中的美女主播照片,帶好小本本記好重點(diǎn)!
Python爬蟲(chóng)獲取直播封面圖
首先我們需要知道整體的流程:
1.獲取請(qǐng)求鏈接,并判斷響應(yīng)結(jié)果的類型。2.使用requests發(fā)出請(qǐng)求,獲取響應(yīng)結(jié)果。3.解析響應(yīng)結(jié)果。4.將響應(yīng)的結(jié)果做持久化保存。
按照上面的步驟,第一步我們打開(kāi)虎牙直播的網(wǎng)站,找到想要獲取數(shù)據(jù)的專區(qū),然后按下F11開(kāi)發(fā)者工具,選擇Network進(jìn)行網(wǎng)絡(luò)請(qǐng)求和響應(yīng)的查看。我們的目的是獲取海量的美女圖片將頁(yè)面拉到底部,進(jìn)行翻頁(yè)。發(fā)現(xiàn)地址欄沒(méi)有變化。
如果大家遇到這種情況,就要考慮是不是使用ajax進(jìn)行異步請(qǐng)求了。在Network中選擇XHR,進(jìn)行異步請(qǐng)求的篩選。
點(diǎn)開(kāi)上圖中圈起來(lái)的鏈接,發(fā)現(xiàn)在response處是一個(gè)json返回結(jié)果
鏈接其他的沒(méi)有發(fā)生變化,唯獨(dú)在最后位置page發(fā)生了改變。分別跟頁(yè)碼數(shù)對(duì)應(yīng)上了。于是我們就有了下面的代碼:
現(xiàn)在我們就來(lái)到了步驟二,使用requests發(fā)出請(qǐng)求了。
我們發(fā)現(xiàn)成功獲取了3條json結(jié)果,接下來(lái)就是分析和解析數(shù)據(jù)了。因?yàn)閖son內(nèi)容很長(zhǎng),我們不便分析它們,所以我們使用json的格式化工具完成
通過(guò)分析我們發(fā)現(xiàn)所有的數(shù)據(jù)都在data-->datas中,而圖片在screenshot對(duì)應(yīng)的值上。所以我們開(kāi)始解析,先將json字符串使用json.loads()進(jìn)行轉(zhuǎn)換,得到的是一個(gè)字典,然后層層的獲取數(shù)據(jù)。
我們雖然提取出來(lái)了圖片的url,但是還沒(méi)有保存到本地。所以接下來(lái)要做第四步持久化保存了。因?yàn)槲覀兿螺d的僅僅是圖片,所以直接使用request.urlretrieve實(shí)現(xiàn)就可以
因此最后的完整代碼是:
以上就是利用Python獲取美女直播圖片的教程了,其他直播網(wǎng)站的圖片也可以同樣方式操作,如果你對(duì)Python爬蟲(chóng)感興趣的話不妨來(lái)千鋒Python培訓(xùn)班了解一下我們的Python培訓(xùn)課程,包含全套Python爬蟲(chóng)教程,權(quán)威名師全程面授學(xué)不會(huì)繼續(xù)學(xué)直到學(xué)會(huì)為止,現(xiàn)在咨詢還有免費(fèi)的學(xué)習(xí)資料可以領(lǐng)取,趕緊來(lái)了解一下吧。