
寫在前面
本司機在網頁上看到一個圖片網站,網站的尺度是這樣的:^_^

里面的美女美的不可描述啊,而且漏骨而不露點,可以說是宅男的福利了。
一時興起,決定將網站上的圖片打包下來研究研究。正好最近在研究python,所以決定用這個抓取圖片存到本地,將圖片url存到 mongodb以防止以后用。
哈哈~(原諒小編笑出了豬叫聲)
爬蟲初識
網絡爬蟲(又被稱為網頁蜘蛛,網絡機器人,在FOAF社區中間,更經常的稱為網頁追逐者),是一種按照一定的規則,自動的抓取萬維網信息的程序或者腳本。
要學習Python爬蟲,我們要學習的共有以下幾點:
- Python基礎知識
- Python中urllib和urllib2庫的用法
- Python正則表達式
- Python爬蟲框架Scrapy
- Python爬蟲更高級的功能
- 當然,我們今天暫時不需要使用框架進行爬取,只用urllib2等庫進行操作。其它的一些關於爬蟲的一些基本信息,可以在這位大神的博客中學習到。學習爬蟲點我。
開始爬取
確定URL開始抓取
1、我們以 http://www.zngirls.com/rank/sum/ 為起始頁面進行爬取,打開網頁后右鍵查看源代碼。
打開這個url后,如圖1。我們需要關心的是紅色鏈接的內容。

圖一
2、這個如何查找呢?如果你用的是360瀏覽器,在MM圖片那右擊,選擇“審查元素”。之后就可以查看到點擊MM頭像后跳轉的url地址和MM頭像的url地址 。如圖2:

圖二
3、現在還是沒有看到寫真的圖片,我們點擊MM的頭像,進入到了下圖的頁面http://www.zngirls.com/girl/21751/ 可以看到如圖3這個頁面也沒有寫真的具體圖片,只是寫真的封面集合。不急,我們繼續點擊封面。

圖三
4、點擊封面后,http://www.zngirls.com/g/19671/1.html 進入的頁面就可以看到寫真的具體圖片了。這時我們就可以爬取圖片地址了。當然,這個也是分頁的,所以也需要獲取一共多少頁以及每一頁的url。

圖四
代碼編寫
從上面的步驟我們整理一下思路,大概分為以下三部:
- 1、第一步 從 http://www.zngirls.com/rank/sum/ 開始抓取MM點擊頭像的鏈接(注意是分頁的)
- 2、第二部 從 http://www.zngirls.com/girl/21751/ 抓取每一個寫真集合的鏈接(注意是分頁的)
- 3、第三部 從 http://www.zngirls.com/g/19671/1.html 在寫真圖片的具體頁面抓取圖片(注意是分頁的)
1. 從起始頁面 http://www.zngirls.com/rank/sum/ 開始首選先獲取分頁的頁數以及每一頁的url,方便下一步獲取點擊MM獲取專輯url地址。接着解析每一頁的html,獲取每一頁中點擊MM頭像后跳轉的專輯集合頁面。

代碼1
2. 從mmRankitem方法中獲取到的url中解析每一個MM寫真專輯圖片的具體地址,也就是寫真圖片列表的頁面。

代碼2
3. 從每一頁中獲取圖片的url,已經每一張圖片的名稱,方便下一步進行下載。

代碼3
4 .獲取每張圖片的url,可每張照片的名稱,然后下載到本地。

代碼4
5. 執行完畢后(時間可能會比較長),就可以在文件夾里面看到一張一張的圖片都下載完畢。再這里注意的是防止出現反爬蟲,可以用設置header或者代理等方式。

圖5
沒有設置一些header等參數時,有時會出現如下這種情況,這種情況應該是網站有反爬蟲的機制。

寫在最后
不知道看完文章的你是否也手癢癢了呢?小編提供項目源碼哦~
有了源碼小白也能做到!
加油加油!!!!