Python爬取網頁的圖片資料
阿新 • • 發佈:2018-11-16
本案例是基於PyCharm開發的,也可以使用idea。
在專案內新建一個python檔案TestCrawlers.py
TestCrawlers.py
# 匯入urllib下的request模組
import urllib.request
# 匯入正則匹配包
import re
# -*- encoding:utf-8 -*-
"""
@作者:小思
@檔名:TestCrawlers.py
@時間:2018/11/6 15:48
@文件說明:測試爬蟲(以爬取http://www.xiaohuar.com/2014.html上的圖片為例)
"""
# 步驟
# 1.確定要爬取資料的網址
# 2.獲取該網址的原始碼
# 3.使用正則表示式去匹配網址的原始碼(匹配所需要的資料型別)
# 4.將爬取的資料儲存至本地或者資料庫
# 確定要爬取資料的網址
url = "http://www.xiaohuar.com/2014.html"
# 該網址的原始碼(以該網頁的原編碼方式進行編碼,特殊字元編譯不能編碼就設定ignore)
webSourceCode = urllib.request.urlopen(url).read().decode("gb2312", 'ignore')
# 匹配圖片的正則表示式
imgRe = re.compile(r'src="(.+?\.jpg)"')
imageUrl = imgRe.findall(webSourceCode)
# 將圖片下載到本地(需要網路)
# 本地路徑
localPath = "F:\myImages"
count = 0
for i in imageUrl:
if ("http:") not in i:
i = "http://www.xiaohuar.com" + i
urllib.request.urlretrieve(i, f"{localPath}\\{count}.jpg")
print(i, "該圖片下載成功!")
count += 1
print("圖片已經全部下載完成,請前往" , localPath, "檢視!")
控制檯輸出:
資料夾myImages的圖片:
圖片爬取成功!
注意事項:
該爬取方式可以根據自己的需求更換,你需要爬取哪個網站就檢視它的原始碼,爬取的時候要分析原始碼的規律,然後匹配正則,儲存下載到你自己的電腦裡,就不用每一個都手動下載儲存了,有分頁的網頁可以把那些網址放在一個元祖中,然後遍歷讀取元祖裡面的原始碼再匹配正則,獲取到要下載的資料。
說在最後的話:編寫實屬不易,若喜歡或者對你有幫助記得點贊+關注或者收藏哦~