python 爬取網頁中的圖片到本地
阿新 • • 發佈:2018-12-26
最近在學習python,順便寫一個爬取網頁中圖片的程式練練手。
主要分為兩個過程:
第一,從給定域名的網頁中爬取圖片的連結
第二,讀取連結對應的圖片,儲存到本地
第一個過程需要匯入utllib包,在python2.7環境下使用 import urllib2 即可
在python3.X 之後的版本中,由於沒有了urllib2模組,所以匯入的是 import urllib.request
在這裡,我的環境是 python 2.7
import urllib2 # 匯入urllib2模組 req = urllib2.urlopen('https://www.nuomi.com/?cid=002540') buf = req.read()
三行語句即可將網頁的原始碼輸出到buf物件,然後可以用print buf檢視網頁的內容
import re # 匯入re模組
listurl = re.findall(r'http:.+\.jpg',buf) #正則表示式,匹配圖片格式
print listurl # 將圖片的格式放入list中
之後就是利用正則表示式匹配圖片格式的連結,將連結存到list中
最後就是將list中的連結讀取出來,將圖片儲存到本地即可。
原始碼:
import urllib2 # 匯入urllib2模組 req = urllib2.urlopen('https://www.nuomi.com/?cid=002540') buf = req.read() import re # 匯入re模組 listurl = re.findall(r'http:.+\.jpg',buf) #正則表示式,匹配圖片格式 print listurl # 將圖片的格式放入list中 i = 0 for url in listurl: f = open(str(i)+'.jpg',"wb") #開啟檔案 req = urllib2.urlopen(url) buf = req.read() #讀出檔案 f.write(buf) #寫入檔案 i = i + 1 #更改檔名
在這裡,我爬取的是 百度糯米網上的圖片,成功儲存到當前目錄。