PythonでWebページの画像をキャプチャ
4157 ワード
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']
pathinfo=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()