1. 程式人生 > >利用python爬取網頁圖片

利用python爬取網頁圖片

學習python爬取網頁圖片的時候,可以通過這個工具去批量下載你想要的圖片

開始正題:

我從尤物網去爬取我喜歡的女神的寫真照,我們這裡主要用到的就兩個模組 re和urllib模組,有的時候可能會用到time模組,其作用主要為延時控制,有的網站有反爬蟲機制,在短時間內對網站的請求過多的時候就可能被遮蔽,因此有的時候延遲你的請求在某種情況下可以避免也反爬蟲機制限制

直接上程式碼:

import urllib
import re
import time

#封裝獲取網頁所有資訊的函式
def getHtml(url):
    page = urllib.urlopen(url)
    html = page.read()
    return html
#封裝獲取滿足正則表示式的圖片地址
def getImg(html):
    reg = r"img src='(.+?\.jpg)'"
    imgre = re.compile(reg)
    imglist = re.findall(imgre,html)
    return imglist


for w in range(11,21,1):
    k=w
    #根據網址的規律,通過改變網址來下載所有的照片(這個得自己去看看網址哦)
    html = getHtml("http://www.youwu.cc/guonei/20160307/1045_%s.html" %k)  # 27
    i = 1
    #下載照片
    try:
        for imgurl in getImg(html):
            #下載照片並存到F:/pycharm/workspace/girl-1這個資料夾內
            urllib.urlretrieve(imgurl,"F:/pycharm/workspace/girl-1/number%s-%s.jpg" %(k, i))
            print ('%s-%s/%s'%(w,i,len(getImg(html))))
            #這個模組可以視情況自己去使用,一般的網頁如果爬取的數量不大的情況下可以不用
            # time.sleep(1)
            i += 1
    except:
        print "some problem!"

print ('finish!')