1. 程式人生 > >Python3 爬蟲(三) -- 爬取豆瓣首頁圖片

Python3 爬蟲(三) -- 爬取豆瓣首頁圖片

前面已經完成了簡單網頁以及偽裝瀏覽器的學習。下面,實現對豆瓣首頁所有圖片爬取程式,把圖片儲存到本地一個路徑下。

首先,豆瓣首頁部分圖片展示


這只是擷取的一部分。下面給出,整個爬蟲程式。

爬蟲程式

這個爬取圖片的程式採用偽裝瀏覽器的方式,只不過是加了處理圖片的模組。
'''
批量下載豆瓣首頁的圖片

採用偽裝瀏覽器的方式爬取豆瓣網站首頁的圖片,儲存到指定路徑資料夾下
'''

#匯入所需的庫
import urllib.request,socket,re,sys,os

#定義檔案儲存路徑
targetPath = "E:\\projects\\Spider\\03_dbImages"

def saveFile(path):
    #檢測當前路徑的有效性
    if not os.path.isdir(targetPath):
        os.mkdir(targetPath)

    #設定每個圖片的路徑
    pos = path.rindex('/')
    t = os.path.join(targetPath,path[pos+1:])
    return t

#用if __name__ == '__main__'來判斷是否是在直接執行該.py檔案


# 網址
url = "https://www.douban.com/"
headers = {
              'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) '                            'Chrome/51.0.2704.63 Safari/537.36'
           }

req = urllib.request.Request(url=url, headers=headers)

res = urllib.request.urlopen(req)

data = res.read()

for link,t in set(re.findall(r'(https:[^s]*?(jpg|png|gif))', str(data))):

    print(link)
    try:
        urllib.request.urlretrieve(link,saveFile(link))
    except:
        print('失敗')

爬取結果

(1)打印出來的資訊
(2)爬取的圖片列表
可以跟豆瓣首頁進行對比。