沒想到python是如此強大,令人着迷,以前看見圖片總是一張一張復制粘貼,現在好了,學會python就可以用程序將一張張圖片,保存下來。
今天逛貼吧看見好多美圖,可是圖片有點多,不想一張一張地復制粘貼,怎么辦呢?辦法總是有的,即便沒有我們也可以創造一個辦法。
下面就看看我今天寫的程序:
#coding=utf-8 #urllib模塊提供了讀取Web頁面數據的接口 import urllib.request #re模塊主要包含了正則表達式 import re #定義一個getHtml()函數 def getHtml(url): page = urllib.request.urlopen(url) #urllib.request.urlopen()方法用於打開一個URL地址 html = page.read() #read()方法用於讀取URL上的數據 return html def getImg(html): reg = r'src="(.+?\.jpg)" pic_ext' #正則表達式,得到圖片地址 imgre = re.compile(reg) #re.compile() 可以把正則表達式編譯成一個正則表達式對象. html = html.decode('utf-8') #python3 imglist = re.findall(imgre,html) #re.findall() 方法讀取html 中包含 imgre(正則表達式)的數據 #把篩選的圖片地址通過for循環遍歷並保存到本地 #核心是urllib.request.urlretrieve()方法,直接將遠程數據下載到本地,圖片通過x依次遞增命名 x = 0 for imgurl in imglist: urllib.request.urlretrieve(imgurl,'D:\E\%s.jpg' % x) x += 1 html = getHtml("https://tieba.baidu.com/p/xxxxxxxx") print(getImg(html))
運行程序后,下面就是見證奇跡的時刻,打開對應文件夾:
哇!圖片全部保存了下來,so nice! :-)
2019年1月更新備注:
此前代碼為2015年Python2.x環境測試,現在已將代碼更新,測試環境為Python3.7 ,注意請在D盤新建一個文件夾重命名為E
測試網址:https://tieba.baidu.com/p/2555125530
測試結果如圖: