分享一个解析html的python的框架--AdvancedHTMLParser
2015-10-24 20:10
981 查看
最近在研究python爬虫,这方面的库也不少,但大多都用不顺手.
今天在github上搜索时发现了这个框架,其用法很简单,和javascript操作DOM几乎一样,刚使用了下,感觉很好用,框架也不大,不算文档70多k,安装也很方便.所以就分享给大家.
地址:https://github.com/kata198/AdvancedHTMLParser
下载后,运行 python setup.py install
使用列子
是不是很方便呢.
今天在github上搜索时发现了这个框架,其用法很简单,和javascript操作DOM几乎一样,刚使用了下,感觉很好用,框架也不大,不算文档70多k,安装也很方便.所以就分享给大家.
地址:https://github.com/kata198/AdvancedHTMLParser
下载后,运行 python setup.py install
使用列子
#coding=utf-8 import AdvancedHTMLParser ht = ''' <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>网页标题</title> </head> <body> <div class="link"> <a class="csdn" href="http://csdn.net" >CSDN</a><br> <a href="http://blog.csdn.net/a1468152804/" >我的博客</a> </div> <div id="testid" >div#testid</div> <p>测试段落一</p> <p>测试段落二</p> <p>测试段落三</p> <p>测试段落四</p> </body> </html> ''' parser = AdvancedHTMLParser.AdvancedHTMLParser() parser.parseStr(ht) #根据标签名获取元素 items = parser.getElementsByTagName("p") for item in items: print item.innerHTML #根据类名获取 items = parser.getElementsByClassName("link") for item in items: print item.getElementsByClassName("csdn")[0].innerHTML #根据id获取 print parser.getElementById("testid").innerHTML 输出如下: 测试段落一 测试段落二 测试段落三 测试段落四 CSDN div#testid
是不是很方便呢.
相关文章推荐
- python自学之异常
- Python进阶教程
- Python---类的"__new__"和"__init__"方法
- Python正则表达式的几种匹配用法
- python装饰实现线程同步
- Python中转到指定目录
- Python3.5环境安装及使用 Speech问题解决
- Python学习笔记4
- Python学习笔记-变量和数据类型
- Python3便捷的操作——导入模块
- Python在信号与系统(1)——Hilbert兑换,Hilbert在国家统计局的包络检测应用,FIR_LPF滤波器设计,格鲁吉亚也迫使高FM(PM)调制
- Python实现机器学习一(实现一元线性回归)
- RHEL6.7下,安装Python3.5,进行编程开发
- Python下关于JSON的一些事儿
- leetcode之Set Matrix Zeroes
- What does the yield keyword do in Python?
- python 自动登录网站
- python socket编程
- Python机器学习库scikit-learn实践
- Python - 基础知识 - 条件判断