1. 程式人生 > >python 爬取網頁中的圖片到本地

python 爬取網頁中的圖片到本地

最近在學習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                     #更改檔名

在這裡,我爬取的是 百度糯米網上的圖片,成功儲存到當前目錄。