1. 程式人生 > >Python抓取圖片(貼吧)

Python抓取圖片(貼吧)

今天給大家寫分享一個爬蟲小程式,用來抓取貼吧的一些圖片  picture.py。

步驟:

1、獲取指定網頁原始碼,建議request一下。

2、匹配正則

3、利用urlretrieve下載

在這兒呢需要注意的是urlretrieve(path,name)

path指的是儲存路徑,預設是當前路徑,也就是picture.py所在的路徑,具體來說:

urlretrieve(url, filename=None, reporthook=None, data=None)
引數 finename 指定了儲存本地路徑(如果引數未指定,urllib會生成一個臨時檔案儲存資料。)
引數 reporthook 是一個回撥函式,當連線上伺服器、以及相應的資料塊傳輸完畢時會觸發該回調,我們可以利用這個回撥函式來顯示當前的下載進度。
引數 data 指 post 到伺服器的資料,該方法返回一個包含兩個元素的(filename, headers)元組,filename 表示儲存到本地的路徑,header 表示伺服器的響應頭。

乾貨程式碼:

import re
import urllib,urllib2



def  gethtml(url):
	request = urllib2.Request(url)
	html = urllib2.urlopen(url)
	html = html.read()
	return html

def imge(html,x):
        
		reg = r'src="(http://imgsrc.*?\.jpg)'
		imgre = re.compile(reg)
		imglist = re.findall(reg,html)
	
	
		for i in imglist:
			urllib.urlretrieve(i,'%s.jpg' % x)
			x=x+1
			print i
		return x 	


x=1
url = 'http://tieba.baidu.com/p/4762204702?'	
html=gethtml(url)
imge(html,x)