天天看點

Python爬蟲之抓取網絡圖檔

1.目的

以 百度圖檔首頁為例,首頁如下圖所示,網頁上有一些圖檔,我們的目的就是将這些圖檔儲存到本地。

Python爬蟲之抓取網絡圖檔

2.源碼

#coding=utf-8
#version: python 2.7
#author: Hao Chen

import urllib
import re

#step1.擷取整個頁面的資料
url="http://image.baidu.com/"
page = urllib.urlopen(url)     #打開一個url位址
html = page.read()             #讀取url上的資料

#step2.删選頁面中想要的資料
reg = r'src="(.+?\.jpg)" '        #建構正規表達式
imgre = re.compile(reg)           #把正規表達式變異成一個對象
imgList = re.findall(imgre,html)  #讀取html中包含正規表達式的資料

#直接用以下方法也行,更簡便
#imgList = re.findall('src="(.+?\.jpg)" ',html)
 
#step3.将頁面篩選的資料儲存到本地
x=0
for imgurl in imgList:
    urllib.urlretrieve(imgurl,'%s.jpg'%x)  #遠端将資料下載下傳到本地
    x+=1