1. 程式人生 > >Python爬蟲 爬取網站上的圖片

Python爬蟲 爬取網站上的圖片

                                 Python爬蟲  爬取網站上的圖片

 

這裡以這個網站為例:http://www.nipic.com/topic/show_27168_1.html

 

 

右鍵滑鼠,檢視源

 

然後,看到網站的原始碼:

 

然後,發現了一些規律:圖片格式大都是.jpg   ,alt 是圖片的描述。 

 

2. 發現完這個規律那麼我們就可以開始寫程式碼啦 (用正則表示式來表示這個規律然後把網頁是地址傳進去就ok啦)

import urllib.request

import re

import urllib


# 根據給定的網址來獲取網頁詳細資訊,得到的html就是網頁的原始碼

def getHtml(url):
    page = urllib.request.urlopen(url)

    html = page.read()

    return html.decode('UTF-8')


def getImg(html):
    reg = r'src="(.+?\.jpg)" alt'

    imgre = re.compile(reg)

    imglist = imgre.findall(html)  # 表示在整個網頁中過濾出所有圖片的地址,放在imglist中

    x = 0

    path = 'D:\DoyoGames\python_tu\\neg' #要儲存圖片得路徑 D:\DoyoGames\python_tu
                                            #要帶字尾 \\neg
    #path = 'D:\\neg'          #儲存圖片放在D盤了

    # 將圖片儲存到D:\\test資料夾中,如果沒有test資料夾則建立

    for imgurl in imglist:
        urllib.request.urlretrieve(imgurl, '{}{}.jpg'.format(path, x))  # 開啟imglist中儲存的圖片網址,並下載圖片儲存在本地,format格式化字串

        x = x + 1

    return imglist


#html = getHtml("http://www.ivsky.com/search.php?q=%E6%B5%B7&PageNo=9")  # 獲取該網址網頁詳細資訊,得到的html就是網頁的原始碼
#http://www.nipic.com/
html = getHtml("http://www.nipic.com/topic/show_27168_1.html")

print(getImg(html))  # 從網頁原始碼中分析並下載儲存圖片

print("爬蟲成功啦,快去看看資料夾得圖片")

 

執行結果:

 

儲存圖片的資料夾: D:\DoyoGames\python_tu (大家可以根據自己情況,修改一下

 

希望對你有幫助