python入門012~使用python3爬取網絡圖片並保存到本地

上一節我們學習了python3藉助requests類庫爬取網頁數據,這一節我們繼續深入的講解python爬蟲的實現。今天要將的是使用python3爬取網絡圖片,並保存到本地。

本節知識點
1,python3爬取網站源碼
2,正則匹配獲取圖片鏈接
3,使用python3將不怕保存到本地

一,首先我們來看下要爬取的網址

下圖箭頭所指的就是我們要爬取的圖片。


二,爬取網址源碼到本地


通過上圖我們可以看到,我們成功的爬取到了網站源碼,而這個網站的 <img 圖片顯示標籤裏用了 data-src 懶加載來顯示圖片,所以我們接下來要做的就是使用正則表達式來匹配出網站源碼裏的圖片鏈接。

三,正則表達式匹配圖片鏈接


通過上圖可以看出,我們成功的匹配到了網站源碼裏的圖片鏈接,接下來,我們就要把這個圖片保存在本地了。

四,保存圖片到本地


如上圖,我們做保存圖片的時候,需要先在我們代碼的外層目錄創建一個 imgs文件夾,用於存放圖片。然後編寫核心代碼。

五,完整代碼如下。

六,運行代碼,看下效果


可以看下我們爬取到的圖片


最後把完整代碼貼給大家

# python3爬取網絡圖片
import requests
import re

# 第一個爬取網址
url = 'http://www.nipic.com/photo/jingguan/ziran/index.html'

# 獲得網頁源碼
data = requests.get(url).text
# print("網站源碼", data)

# 圖片正則表達式
regex = r'data-src="(.*?.jpg)"'
# re是一個列表
pa = re.compile(regex)  # 創建一個pa模板,使其符合匹配的網址
ma = re.findall(pa, data)  # findall 方法找到data中所有的符合pa的對象,添加到re中並返回
# print(ma)

# 將ma中圖片網址依次提取出來
i = 0
for image in ma:
    i += 1
    image = requests.get(image).content
    print(str(i) + '.jpg 正在保存。。。')
    with open('../imgs/' + str(i) + '.jpg', 'wb') as f:  # 注意打開的是就jpg文件
        f.write(image)

print('保存完畢')

往期文章

視頻教程

點擊這個地址可以試看:https://www.bilibili.com/video/av55521385/
如果覺得視頻教程不錯,可以加老師微信購買 ,老師微信 2501902696

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章