Python 网页解析HTMLParse的实例详解


Posted in Python onAugust 10, 2017

Python 网页解析HTMLParse的实例详解

使用python将网页抓取下来之后,下一步我们就应该解析网页,提取我们所需要的内容了,在python里提供了一个简单的解析模块HTMLParser类,使用起来也是比较简单的,解析语法没有用到XPath类似的简洁模式,但新手用起来还是比较容易的,看下面的例子:

现在一个模拟的html文件:

<html> <title id='main' mouse='你好'>我是标题</title><body>我是内容</body>  </html>

需求是,提取出标题的属性值,以及内容:

代码如下:

import html.parser as h 
 
 
 
class MyHTMLParser(h.HTMLParser): 
  a_t=False 
  def handle_starttag(self, tag, attrs): 
    #print("开始一个标签:",tag) 
    print() 
    if str(tag).startswith("title"): 
      print(tag) 
      self.a_t=True 
      for attr in attrs: 
        print("  属性值:",attr) 
 
  def handle_endtag(self, tag): 
    if tag == "title": 
      self.a_t=False 
      #print("结束一个标签:",tag) 
 
  def handle_data(self, data): 
    if self.a_t is True: 
      print("得到的数据: ",data) 
 
 
 
p=MyHTMLParser() 
 
p.feed("<html> <title id='main' mouse='你好'>我是标题</title><body>我是内容</body>  </html>") 
 
p.close()

运行结果如下:

title 
  属性值: ('id', 'main') 
  属性值: ('mouse', '你好') 
得到的数据: 我是标题

主要的技术就是继承了HTMLParser类,然后重写了里面的一些方法,来完成自己的业务,从上面的代码里,发现如果想获取某个标签的内容,还是比较麻烦的,当然这是python里面最简单的html解析方式,还有很多其他组件,scrapy等等,里面支持Xpath路径解析,使用起来非常简洁清爽。

解析代码学会之后,我们就可以将使用urllib包,抓取到的数据交给htmlparser解析,从而提取出我们所需要的内容。

以上就是Python 网页解析HTMLParse的实例详解,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Python 相关文章推荐
tornado捕获和处理404错误的方法
Feb 26 Python
详解Python中的type()方法的使用
May 21 Python
Python数据结构与算法之二叉树结构定义与遍历方法详解
Dec 12 Python
python计算日期之间的放假日期
Jun 05 Python
Python实现的从右到左字符串替换方法示例
Jul 06 Python
Django配置celery(非djcelery)执行异步任务和定时任务
Jul 16 Python
python对矩阵进行转置的2种处理方法
Jul 17 Python
在vscode中配置python环境过程解析
Sep 28 Python
使用OpenCV-python3实现滑动条更新图像的Canny边缘检测功能
Dec 12 Python
Python Selenium参数配置方法解析
Jan 19 Python
使用python无账号无限制获取企查查信息的实例代码
Apr 17 Python
Python利用pip安装tar.gz格式的离线资源包
Sep 14 Python
关于Python中浮点数精度处理的技巧总结
Aug 10 #Python
Python 处理数据的实例详解
Aug 10 #Python
Python 由字符串函数名得到对应的函数(实例讲解)
Aug 10 #Python
关于Python中空格字符串处理的技巧总结
Aug 10 #Python
Python排序算法实例代码
Aug 10 #Python
简单谈谈python中的语句和语法
Aug 10 #Python
Python中如何优雅的合并两个字典(dict)方法示例
Aug 09 #Python
You might like
强烈推荐:php.ini中文版(1)
2006/10/09 PHP
PHP个人网站架设连环讲(二)
2006/10/09 PHP
五个PHP程序员工具
2008/05/26 PHP
腾讯微博提示missing parameter errorcode 102 错误的解决方法
2014/12/22 PHP
WAMP环境中扩展oracle函数库(oci)
2015/06/26 PHP
PHP类型约束用法示例
2016/09/28 PHP
php类自动装载、链式操作、魔术方法实现代码
2017/07/23 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
2017/11/17 PHP
根据分辨率不同,调用不同的css文件
2006/08/25 Javascript
cnblogs csdn 代码运行框实现代码
2009/11/02 Javascript
ASP中进行HTML数据及JS数据编码函数
2009/11/11 Javascript
Js获取数组最大和最小值示例代码
2013/10/29 Javascript
jQuery:delegate中select()不起作用的解决方法(实例讲解)
2014/01/26 Javascript
jQuery实现美观的多级动画效果菜单代码
2015/09/06 Javascript
全面解析Bootstrap中transition、affix的使用方法
2016/05/30 Javascript
EasyUI 结合JS导出Excel文件的实现方法
2016/11/10 Javascript
Jquery获取radio选中值实例总结
2019/01/17 jQuery
使用kbone解决Vue项目同时支持小程序问题
2019/11/08 Javascript
javaScript中indexOf用法技巧
2019/11/26 Javascript
使用Python编写一个最基础的代码解释器的要点解析
2016/07/12 Python
python正则表达式匹配[]中间为任意字符的实例
2018/12/25 Python
如何不用安装python就能在.NET里调用Python库
2019/07/12 Python
如何解决tensorflow恢复模型的特定值时出错
2020/02/06 Python
python虚拟环境模块venv使用及示例
2020/03/04 Python
使用K.function()调试keras操作
2020/06/17 Python
HTML5教程之html 5 本地数据库(Web Sql Database)
2014/04/03 HTML / CSS
菲律宾酒店预订网站:Hotels.com菲律宾
2017/07/12 全球购物
Claire’s法国:时尚配饰、美容、珠宝、头发
2021/01/16 全球购物
临床医学专业个人的自我评价
2013/09/27 职场文书
2014年安全生产目标责任书
2014/07/23 职场文书
缓刑期间思想汇报范文
2014/10/10 职场文书
先进单位申报材料
2014/12/25 职场文书
教师评职称工作总结2015
2015/04/20 职场文书
Django开发RESTful API实现增删改查(入门级)
2021/05/10 Python
提取视频中的音频 Python只需要三行代码!
2021/05/10 Python
MongoDB数据库之添删改查
2022/04/26 MongoDB