Python抓取圖片(貼吧)
阿新 • • 發佈:2019-01-26
今天給大家寫分享一個爬蟲小程式,用來抓取貼吧的一些圖片 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)