標籤:
現在網上的資源特別豐富,尤其是如果在看到某些網站上的好看的圖片就會想要儲存下來,但是很麻煩需要的一個一個點擊下載,可是如果我們用程式來處理的話,問題將會變得非常簡單,只需要運行程式就可以拿到整個網頁上的所有圖片。
下面我們可以看一下怎樣用python實現一個簡單的擷取網頁圖片的的爬蟲小程式。
一、第一步,怎樣擷取到整個page?
getPage.py
import urllibdef getPage(url): page = urllib.urlopen(url) content = page.read() return contentcontent = getPage("http://tieba.baidu.com/p/2510089409")
首先要匯入urllib模組,此模組的作用是協助我們通過url開啟任意資源
urlopen(url, [,data])——根據url開啟一個網頁,根據參數區分post或者get
read():讀取整個頁面所有資訊
二、如何只擷取到圖片?
savePhotos.py
import urllibimport redef getPage(url): page = urllib.urlopen(url) content = page.read() return contentdef getPhotos(content): reg = r‘src="(.+?\.jpg)" pic_ext‘ imgre = re.compile(reg) imglist = re.findall(imgre,content) x = 0 for imgurl in imglist: urllib.urlretrieve(imgurl,‘./photos/%s.jpg‘ % x) x+=1content = getPage("http://tieba.baidu.com/p/2510089409")print getPhotos(content)
Regex。這裡我們用Regex來對擷取到的網頁資訊進行過濾。
匯入urllib和re模組
解析方法getPhotos.py中的語句
第一步:建立Regex的過濾規則;
第二步:編譯Regex
第三步:將符合規則的檔案即圖片儲存到imglist中
第四步:用urlretrieve()方法儲存圖片到本地。其中第二個參數設定儲存檔案位置。
這樣就可以實現一個python的一個簡單的擷取網頁圖片的爬蟲
爬到的圖片 ,如下:
python實現簡單爬蟲