我們有時(shí)候會(huì)需要在網(wǎng)上查找并下載圖片,當(dāng)數(shù)量比較少的時(shí)候,點(diǎn)擊右鍵
保存,很輕松就可以實(shí)現(xiàn)圖片的下載,但是有些圖片進(jìn)行了特殊設(shè)置,點(diǎn)擊右鍵
沒(méi)有顯示保存選項(xiàng),或者需要下載很多圖片,這樣的情況,寫(xiě)一段Python爬蟲(chóng)
代碼就可以輕松解決!
一、頁(yè)面抓取
#coding=utf-8
importurllib
defgetHtml(url):
page=urllib.urlopen(url)
html=page.read()
returnhtml
html=getHtml("https://tieba.baidu.com/p/5582243679")
printhtml
頁(yè)面數(shù)據(jù)抓取過(guò)程定義了getHtml()函數(shù),其作用是給getHtml()傳遞一個(gè)
網(wǎng)址,最終進(jìn)行整個(gè)頁(yè)面的下載。
二、頁(yè)面數(shù)據(jù)篩選
importre
importurllib
defgetHtml(url):
page=urllib.urlopen(url)html=page.read()
returnhtml
defgetImg(html):
reg=r'src="(.+?\.jpg)"pic_ext'
imgre=re.compile(reg)
imglist=re.findall(imgre,html)
returnimglist
html=getHtml("https://tieba.baidu.com/p/5582243679")
printgetImg(html)
頁(yè)面數(shù)據(jù)篩選中,定義了一個(gè)新的函數(shù)getImg(),該函數(shù)的功能是篩選
出.jpg格式的圖片地址。
三、圖片下載
#coding=utf-8
importurllib
importre
defgetHtml(url):
page=urllib.urlopen(url)
html=page.read()
returnhtml
defgetImg(html):
reg=r'src="(.+?\.jpg)"pic_ext'
imgre=re.compile(reg)imglist=re.findall(imgre,html)
x=0
forimgurlinimglist:
urllib.urlretrieve(imgurl,'%s.jpg'%x)
x+=1
html=getHtml("https://tieba.baidu.com/p/5582243679")
printgetImg(html)
通過(guò)for循環(huán)獲得所有符合條件的圖片網(wǎng)址,并采用urllib.urlretrieve()
方法,將遠(yuǎn)程數(shù)據(jù)下載到本地,并重新命名!
以上內(nèi)容為大家介紹了如何利用Python實(shí)現(xiàn)簡(jiǎn)單圖片下載功能,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。http://gzshyw.cn/