#小练习 解析HTML文件并使用字典保存链接 分类: HTMLParser python 小练习 2013-11-11 12:06 267人阅读 评论(0) 收藏
2013-11-11 12:06
976 查看
#coding:utf-8 from HTMLParser import HTMLParser import pprint class myhtml(HTMLParser): def __init__(self): HTMLParser.__init__(self) self.d={} self.flag=None self.value=None #解析html声明 def handle_decl(self,declaration): print 'Declaration:',declaration #解析开始标签 def handle_starttag(self,tag,attrs): print 'Start tag:',tag if tag=='a': #如果tag是“a”,则添加标识flag=‘a’,处理链接数据时,判断是否tag为‘a’ self.flag='a' if len(attrs)==0:pass else: for key,value in attrs: if key=='href': self.value=value #解析结束标签 def handle_endtag(self,tag): print 'End tag:',tag #解析注释标签 def handle_comment(self,comm): print 'Comment:',comm #解析数据 def handle_data(self,data): #添加flag=‘a’判断,否则字典中会增加'test': None 项 if self.flag=='a' and data.strip():# ## print 'Data:',data self.d[data.strip()]=self.value print data.decode('utf-8') else: ## print 'Data:',data pass if __name__ == '__main__': a = '''<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">\ <html><head><!--insert javaScript here!--><title>test</title> <body> <a href="http: //www.163.com">163.com</a> <a href="www.google.com"> goolge.com </a>\ <A Href="www.pythonclub.org">PythonClub </a> <A HREF='www.sina.com.cn'> sina </a> </body></html>''' m=myhtml() m.feed(a) m.close() print m.d
结果:
Declaration: DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"
Start tag: html
Start tag: head
Comment: insert javaScript here!
Start tag: title
End tag: title
Start tag: body
Start tag: a
163.com
End tag: a
Start tag: a
goolge.com
End tag: a
Start tag: a
PythonClub
End tag: a
Start tag: a
sina
End tag: a
End tag: body
End tag: html
{'goolge.com': 'www.google.com', 'PythonClub': 'www.pythonclub.org', '163.com': 'http: //www.163.com', 'sina': 'www.sina.com.cn'}
相关文章推荐
- #小练习 使用字典保存HTMLParser解析的数据 分类: python 小练习 HTMLParser 2013-11-08 20:51 574人阅读 评论(0) 收藏
- HTMLParser解析网页,提取链接地址、标题名称,并插入数据库 分类: python 小练习 HTMLParser 2014-02-19 09:57 519人阅读 评论(0) 收藏
- #小练习 使用SGMLParser获取url链接 分类: HTMLParser 2013-11-12 16:52 471人阅读 评论(0) 收藏
- #小练习 使用HTMLParser获取data时注意事项 分类: python 小练习 HTMLParser 2013-11-08 21:05 335人阅读 评论(0) 收藏
- 使用python解析json文件 分类: python 小练习 2014-03-21 18:17 354人阅读 评论(0) 收藏
- #小练习 使用正则抓取oschina博客专区首页数据 分类: python 小练习 正则表达式 2013-11-11 17:22 604人阅读 评论(0) 收藏
- 使用glob模块,遍历E盘下的mp3文件 分类: python 小练习 2013-05-15 15:40 405人阅读 评论(0) 收藏
- 提取网易的链接及链接名称 分类: python 小练习 正则表达式 2013-11-07 14:02 382人阅读 评论(0) 收藏
- 使用StringIO 分类: python 小练习 2013-06-14 16:00 233人阅读 评论(0) 收藏
- SGMLParser (二) 分类: python 小练习 HTMLParser 2014-02-20 14:06 362人阅读 评论(0) 收藏
- 使用正则表达式替换文件内容 分类: python 小练习 2013-08-13 15:07 332人阅读 评论(0) 收藏
- 【搜索引擎Jediael开发笔记3】使用HtmlParser提取网页中的链接 分类: H3_NUTCH 2014-05-20 20:50 1211人阅读 评论(0) 收藏
- Python之HTML的解析(网页抓取一) 分类: HTMLParser 2013-11-08 20:32 5203人阅读 评论(0) 收藏
- python数据持久存储:pickle模块的基本使用 分类: python python基础学习 python 小练习 2013-06-17 14:41 209人阅读 评论(0) 收藏
- #小练习 HTMLParser 分类: python 小练习 python 2013-06-03 15:54 162人阅读 评论(0) 收藏
- #小练习 解析HTML文件并使用字典保存链接
- 使用glob模块输出目录内容 分类: python 小练习 2013-09-17 18:16 248人阅读 评论(0) 收藏
- 使用locals()获得类,进行分发 分类: python 小练习 divide into python python基础学习 2014-02-21 14:51 217人阅读 评论(0) 收藏
- #小练习 使用sys.argv 分类: python 小练习 2013-09-10 17:44 318人阅读 评论(0) 收藏
- 使用random模块,生成动态随机密码 分类: python 小练习 python Module 2013-12-04 17:23 278人阅读 评论(0) 收藏