當前位置:
首頁 > 知識 > Python3爬取1024圖片

Python3爬取1024圖片

分析

列表頁面

首先進入1024的導航網站,隨便點擊一個地址進入選擇圖片區或者在網站地址後面添加,這就是1024網站的圖片區,這個爬蟲就是主要抓取這個區域的所有圖片,使用瀏覽器debug分析一下這個頁面發現基本都是列表頁,格式如下:

在地址欄後面拼1、2、3等於就是訪問圖片區第一頁、第二頁、第三頁的列表頁。根據這些列表頁就可以爬出具體的每一個圖片頁的地址,類似上圖的地址: 在地址的前面拼接上主站地址就是具體的圖片頁了。所以根據以上的分析:通過循環地址欄找到不同的列表頁在根據列表頁找到具體的圖片頁

地址欄->圖片列表->圖片頁地址

獲取列表頁圖片地址代碼如下:

在這個地址後面拼接1到N就是不同的列表頁

圖片頁面

利用瀏覽器debug一下頁面,圖片基本上都是外鏈地址,以http或者https開頭以jpg、png、gif結尾,寫個正則表達式匹配這些地址,然後交給程序下載就OK了。

頁面代碼如下:

在下載過程中遇到了幾個問題,就是有的頁面會報403禁止訪問等,應該是網站加了一些防止爬蟲的手段,網上找了下加上header參數來模擬瀏覽器訪問就解決了;

下載單個頁面代碼如下:

批量爬取

批量爬取有兩個工作要做,第一for循環目標內的所有列表頁,第二為了避免重複爬取,需要給每個頁面建立唯一的文件夾,下次爬取的時候如果存在直接跳過。最後在理一下所有的爬取步驟:

循環地址欄->找出圖片頁列表->圖片頁分析找出圖片地址->為圖片頁建立唯一的文件夾->開始下載頁面圖片

完整的代碼如下:

最後的爬取結果:

源代碼地址:python-crawler

具體地址和源代碼在一起

其它

關於python2和python3的爭論,網站爭論比較大python3不兼容pyhton2,很多第三方的類庫暫時還沒有支持python3等等,但是對於我們新手來說,肯定是往前看果斷python3.

代碼比較冗餘幾個地方還沒有寫好,還在慢慢學習中,目前只是搞的可以跑起來。還有幾個問題沒有解決,下載一段時間後會莫名其妙的斷掉目前還么找到原因,後期看是否可以加上多線程來爬取可能會快一點,大家有什麼更好的建議也可以提出來。

文章

申明

作者:純潔的微笑

源自:http://www.cnblogs.com/ityouknow/p/6013074.html

聲明:文章著作權歸作者所有,如有侵權,請聯繫小編刪除


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 python 的精彩文章:

Python爬取視頻

TAG:python |