今天沒啥事兒就在網上溜達,對,只是溜達沒干別的,鼠標點著點著進了一個網站,一個妹子圖網站,然后然后就一發不可收拾,一看就是一個小時。自認為自控力還可以,奈何里面的內容太精彩了,什么高qing、午馬、shi身啊.........真吃雞,自己都控制不住自己,,,,

老司機開車了,python爬蟲之妹子圖!_第1張圖片

當然,作為一名“技術人”,內容肯定不會一點一點地去看,要看就要看過癮;然后一不小心就把里面的東西給全部下下來了,沒看錯是全部下下來了,先看個效果圖:

老司機開車了,python爬蟲之妹子圖!_第2張圖片

老司機開車了,python爬蟲之妹子圖!_第3張圖片

網站是張這個樣子的:

老司機開車了,python爬蟲之妹子圖!_第4張圖片

廢話不多說,直接開始爬取,首先我們把每個妹子的圖片統稱為一組照片

接著按「F12」打開開發者工具,想獲取每一組中的每張圖片的下載鏈接,我們需要知道每組照片的鏈接,也就是每張照片的入口所在;從源碼中可以看到每組圖片的鏈接是可以通過「li標簽」下的?「href屬性」所獲取,所以每組圖片的入口可以很輕松地獲取:

老司機開車了,python爬蟲之妹子圖!_第5張圖片

然后接下來需要獲取一下每組照片內部每張照片下載url,任意選一組照片點進去,圖片展示的樣式如下,是一張為一頁的展示方式;

老司機開車了,python爬蟲之妹子圖!_第6張圖片

依舊按按「F12」打開開發者工具,可以很方便地獲取到每張照片的下載地址,可以通過「a標簽」下的?「src屬性」所獲取:

老司機開車了,python爬蟲之妹子圖!_第7張圖片

有了圖片的源地址,接下來就是要開始下載圖片了,可以利用利用requests去請求每張圖片,然后把請求的內容二進制(contend)以.jpg保存即可;因為每張圖片是一頁,所以如果想獲取全部圖片就通過簡單構造url的方式來完成。

以上已經簡單地分析了一下,接下來就要進行編寫代碼了,首先構造一個函數獲取每組照片的url,然后通過翻頁的方式實現全網每組照片的url的獲取:

老司機開車了,python爬蟲之妹子圖!_第8張圖片

在構造一個函數就是對于每組圖片的爬取與下載,如下,先獲取每張圖片的url,通過requests進行請求,把返回來的內容以.jpg格式保存到文檔中

老司機開車了,python爬蟲之妹子圖!_第9張圖片

總的爬取效果如下,是不是很「吃雞」

老司機開車了,python爬蟲之妹子圖!_第10張圖片

對了,網站可能有簡單的反爬措施,需要加一下「headers」,最好在訪問的時候控制一下訪問頻率,加一行「time.sleep(2)」即可。

老司機開車了,python爬蟲之妹子圖!_第11張圖片

想要本次教程「源碼」跟「福利」的,關注微信公眾號: zeroing ,后臺回復關鍵詞: 妹子 即可