python处理HTML与XML之获取页面图片地址

#-*- coding:utf-8 -*-
#file:GetImage.py
#
import Tkinter
import HTMLParser
import urllib

#创建URL解析类
class MyHTMLParser(HTMLParser.HTMLParser):    
    def __init__(self):
        HTMLParser.HTMLParser.__init__(self)
        self.gifs=[]
        self.jpgs=[]
        self.pngs=[]
    def handle_starttag(self,tags,attrs):
        if tags=='img':
            for attr in attrs:
                for t in attr:
                    if 'gif' in t:
                        self.gifs.append(t)
                    elif 'jpg' in t:
                        self.jpgs.append(t)
                    elif 'png' in t:
                        self.pngs.append(t)
                    else:
                        pass
    def get_gifs(self):
        return self.gifs
    def get_jpgs(self):
        return self.jpgs
    def get_pngs(self):
        return self.pngs
    
#创建组件   
class Window:                               
    def __init__(self, root):
        self.root=root
        self.label=Tkinter.Label(root,text='输入URL:')
        self.label.place(x=5,y=15)
        self.entryUrl=Tkinter.Entry(root,width=30)
        self.entryUrl.place(x=65,y=15)
        self.get=Tkinter.Button(root,text='获取图片',command=self.Get)
        self.get.place(x=280,y=15)
        self.edit=Tkinter.Text(root,width=470,height=600)
        self.edit.place(y=50)
    def Get(self):
        url=self.entryUrl.get()          #获取URL
        page=urllib.urlopen(url)         #打开URL
        data=page.read()                 #读取URL内容
        parser=MyHTMLParser()            #生成实例对象
        parser.feed(data)                #处理HTML数据
        self.edit.insert(Tkinter.END,'=====GIF====\n')
        #获取gif图片
        gifs=parser.get_gifs()
        for gif in gifs:
            self.edit.insert(Tkinter.END,gif+'\n')
        self.edit.insert(Tkinter.END,'============\n')
        self.edit.insert(Tkinter.END,'=====JPG====\n')
        
        #获取jpg图片
        jpgs=parser.get_jpgs()
        for jpg in jpgs:
            self.edit.insert(Tkinter.END,jpg+'\n')
        self.edit.insert(Tkinter.END,'============\n')
        self.edit.insert(Tkinter.END,'=====PNG====\n')

        #获取png图片
        pngs=parser.get_pngs()
        for png in pngs:
            self.edit.insert(Tkinter.END,png+'\n')
        self.edit.insert(Tkinter.END,'============\n')
        
        page.close()
        
root=Tkinter.Tk()
window=Window(root)
root.minsize(600,480)
root.mainloop()
            

你可能感兴趣的:(python处理HTML与XML之获取页面图片地址)