今天沒(méi)啥事兒就在網(wǎng)上溜達(dá),對(duì),只是溜達(dá)沒(méi)干別的,鼠標(biāo)點(diǎn)著點(diǎn)著進(jìn)了一個(gè)網(wǎng)站,一個(gè)妹子圖網(wǎng)站,然后然后就一發(fā)不可收拾,一看就是一個(gè)小時(shí)。自認(rèn)為自控力還可以,奈何里面的內(nèi)容太精彩了,什么高qing、午馬、shi身啊.........真吃雞,自己都控制不住自己,,,,
當(dāng)然,作為一名“技術(shù)人”,內(nèi)容肯定不會(huì)一點(diǎn)一點(diǎn)地去看,要看就要看過(guò)癮;然后一不小心就把里面的東西給全部下下來(lái)了,沒(méi)看錯(cuò)是全部下下來(lái)了,先看個(gè)效果圖:
網(wǎng)站是張這個(gè)樣子的:
廢話不多說(shuō),直接開(kāi)始爬取,首先我們把每個(gè)妹子的圖片統(tǒng)稱為一組照片
接著按「F12」打開(kāi)開(kāi)發(fā)者工具,想獲取每一組中的每張圖片的下載鏈接,我們需要知道每組照片的鏈接,也就是每張照片的入口所在;從源碼中可以看到每組圖片的鏈接是可以通過(guò)「li標(biāo)簽」下的?「href屬性」所獲取,所以每組圖片的入口可以很輕松地獲?。?
然后接下來(lái)需要獲取一下每組照片內(nèi)部每張照片下載url,任意選一組照片點(diǎn)進(jìn)去,圖片展示的樣式如下,是一張為一頁(yè)的展示方式;
依舊按按「F12」打開(kāi)開(kāi)發(fā)者工具,可以很方便地獲取到每張照片的下載地址,可以通過(guò)「a標(biāo)簽」下的?「src屬性」所獲?。?
有了圖片的源地址,接下來(lái)就是要開(kāi)始下載圖片了,可以利用利用requests去請(qǐng)求每張圖片,然后把請(qǐng)求的內(nèi)容二進(jìn)制(contend)以.jpg保存即可;因?yàn)槊繌垐D片是一頁(yè),所以如果想獲取全部圖片就通過(guò)簡(jiǎn)單構(gòu)造url的方式來(lái)完成。
以上已經(jīng)簡(jiǎn)單地分析了一下,接下來(lái)就要進(jìn)行編寫代碼了,首先構(gòu)造一個(gè)函數(shù)獲取每組照片的url,然后通過(guò)翻頁(yè)的方式實(shí)現(xiàn)全網(wǎng)每組照片的url的獲取:
在構(gòu)造一個(gè)函數(shù)就是對(duì)于每組圖片的爬取與下載,如下,先獲取每張圖片的url,通過(guò)requests進(jìn)行請(qǐng)求,把返回來(lái)的內(nèi)容以.jpg格式保存到文檔中
總的爬取效果如下,是不是很「吃雞」
對(duì)了,網(wǎng)站可能有簡(jiǎn)單的反爬措施,需要加一下「headers」,最好在訪問(wèn)的時(shí)候控制一下訪問(wèn)頻率,加一行「time.sleep(2)」即可。
想要本次教程「源碼」跟「福利」的,關(guān)注微信公眾號(hào): zeroing ,后臺(tái)回復(fù)關(guān)鍵詞: 妹子 即可
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
