利用Python編程語(yǔ)言進(jìn)行網(wǎng)頁(yè)內(nèi)容的抓取是一個(gè)比較常用的編程技術(shù)。那么,今天我們將會(huì)為大家詳細(xì)介紹一下有關(guān)Python抓取網(wǎng)頁(yè)圖片的操作方法,以方便大家在實(shí)際應(yīng)用中獲得一些幫助。
Python抓取網(wǎng)頁(yè)圖片代碼示例:
- ImgDownloader
- import win32com.client,time,win32inet,win32file,os
- class ImgDownloader:
- def __init__(self,url,dir):
- self.__dir=dir
- self.__ie=win32com.client.Dispatch('InternetExplorer.Application')
- self.__ie.Navigate(url)
- self.__wait__()
- def __wait__(self):
- while self.__ie.Busy:
- time.sleep(0.1)
- def start(self):
- self.__wait__()
- imgs=self.__ie.Document.getElementsByTagName('img')
- for i in range(imgs.length):
- try:
- cachInfo=win32inet.GetUrlCacheEntryInfo(imgs[i].src)
- if cachInfo:
- path=cachInfo['LocalFileName']
- pathpathinfo=path.split('\\')
- pathinfo.reverse()
- filename=('[%d]' % i) + pathinfo[0]
- win32file.CopyFile(path,os.path.join(self.__dir,filename),True)
- except:
- pass
- def close(self):
- self.__ie.Quit()
- if __name__=='__main__':
- d=ImgDownloader('http://image.baidu.com/i?ct=201326592&cl=2&
lm=-1&tn=baiduimage&pv=&word=boy&z=0','c:\\temp\\') - d.start()
- d.close()
原理:在Python使用com 接口運(yùn)行IE瀏覽器,然后打開(kāi)網(wǎng)頁(yè),獲取網(wǎng)頁(yè)所有圖片的URL,最后利用win32api函數(shù)GetUrlCacheEntryInfo找出圖片相應(yīng)的本地緩存文件,復(fù)制到指定目錄。
以上就是我們?yōu)榇蠹医榻B的Python抓取網(wǎng)頁(yè)圖片的應(yīng)用方式。
【編輯推薦】
- Python AOP正確實(shí)現(xiàn)方法介紹
- Python解釋器正確調(diào)用方式簡(jiǎn)介
- Python開(kāi)發(fā)環(huán)境相關(guān)搭建方法介紹
- windows service運(yùn)行Python相關(guān)操作技巧分享
- Python下劃線(xiàn)在實(shí)際應(yīng)用中功能體現(xiàn)
【責(zé)任編輯: 曹凱 TEL:(010)68476606】
|