HtmlParser,顾名思义,是解析Html的一个工具。python自带的。

一、常用属性和方法介绍

HtmlParser是一个类,在使用时一般继承它然后重载它的方法,来达到解析出需要的数据的目的。

1.常用属性:

lasttag,保存上一个解析的标签名,是字符串。

2.常用方法:

handle_starttag(tag, attrs) ,处理开始标签,比如< div>;这里的attrs获取到的是属性列表,属性以元组的方式展示

handle_endtag(tag) ,处理结束标签,比如< /div>

handle_startendtag(tag, attrs) ,处理自己结束的标签,如< img />

handle_data(data) ,处理数据,标签之间的文本

handle_comment(data) ,处理注释,< !-- -->之间的文本

二、基本使用

不多说,上代码

以上是根据python手册写的基本使用,解析了一个简单的html。可以运行看看,主要用于了解各个函数负责解析的部分,以及解析顺序。

三、实用案例

以下的实用案例均在上面的代码中修改对应函数,每个实例都是单独的。

解析的html如下:

1.获取属性的函数,是个静态函数,新增的。直接定义在类中,返回属性名对应的属性

2.获取所有p标签的文本,最简单方法只修改handle_data

3.获取css样式(class)为p_font的p标签的文本,使用了案例1,增加一个实例属性作为标志,选取需要的标签

4.获取p标签的属性列表

5.获取p标签的class属性

6.获取div下的p标签的文本

7.处理注释中的标签,若需要的数据在注释中,使用一般函数解析不到

处理方法为,写两个类,继承HTMLParser。在其中一个类的handle_comment里实例化解析类,和其他标签一样解析

这里的MyHTMLParser可以为基本使用中的MyHTMLParser,或者按需重写。

python解析html的库_python自带的用于解析HTML的库HtmlParser相关推荐

  1. python的最大绘图速度_Python数据可视化之高速绘图神器PyQtGraph库,强烈建议收藏...

    01为什么使用PyQtGraph库 我们知道,在Python中,已经有了很多可供选择的数据可视化库. 比如最经典.使用人数最多的matplotlib库,其有着十多年的历史积累,可生成高质量出版级别的图 ...

  2. python新式类c3算法_Python新式类的方法解析顺序MRO与Super

    新式类与经典类的方法解析顺序 MOR(方法解析顺序) 经典类:深度优先 DFS python3以前 新式类:广度优先 python2.2 新式类:广度优先的C3算法实现(拓扑排序) BFS pytho ...

  3. python数据可视化库_python和r中用于数据可视化的前9个库

    python数据可视化库 In the rapidly growing world of today, when technology is expanding at a rate like neve ...

  4. python自带的用于解析HTML的库HtmlParser

    转自博客https://www.cnblogs.com/masako/p/5868367.html HtmlParser,顾名思义,是解析Html的一个工具.python自带的. 一.常用属性和方法介 ...

  5. python图片解析库_python用来获得图片exif信息的库实例分析

    本文实例讲述了python用来获得图片exif信息的库用法.分享给大家供大家参考.具体分析如下: exif-py是一个纯python实现的获取图片元数据的python库,官方下载地址: http:// ...

  6. python使用osgeo库_Python使用内置urllib模块或第三方库requests访问网络资源

    前言 更多内容,请访问我的 个人博客. Python 访问网络资源有很多方法,urllib, urllib2, urllib3, httplib, httplib2, requests ,现介绍如下两 ...

  7. python列表解析式如何使用_python列表推导式操作解析

    python列表推导式操作解析 这篇文章主要介绍了python列表推导式操作解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 基本格式 ​[表达式 ...

  8. python安装matlabb库_Python调用MATLAB的方法(mlab接口库)(未总结)-Go语言中文社区...

    一.安装 安装mlab库 pip install mlab 显示错误 No module named 'docutils'  (不知道这是什么库) pip install docutils   (安装 ...

  9. python 接口测试 如何写配置文件_python接口自动化测试 - configparser配置文件解析器详细使用...

    configparser简介 ConfigParser模块已在Python 3中重命名为configparser 该模块定义了ConfigParser类. ConfigParser类实现一种基本的配置 ...

最新文章

  1. h5大转盘抽奖源码后台_微信H5互动营销应该要如何做?
  2. Python Scrapy爬虫框架实战应用
  3. git stash 个人理解
  4. Java程序员:这是一个最好的时代,也是一个最坏的时代...
  5. photoshop 常见问题与分析
  6. 基于AppDomain的插件式开发
  7. java 崩溃日志_Android收集程序崩溃日志的方法
  8. “高考”机器人横空出世 2017年居然要考“大学”
  9. CCIE-LAB-SDN-第六篇-SDWAN-Branch2-vEdge-51-vEdge-52
  10. DE11 Theory of General Second-order Linear Homogeneous ODEs
  11. BI在企业数字化转型中的价值
  12. matlab工具箱参数修改,使用matlab工具箱标定摄像头(内参数)
  13. 手机网站注册页面html模板,手机网页登录注册自适应模版
  14. Python绘图——RGB颜色对照表
  15. 图形2.5 Bump Map的改进(凹凸映射)
  16. 播布客学习视频_C学习笔记_simple
  17. C++虚函数表(vtable)和虚函数指针(vfptr)
  18. bom树形结构 表设计_BOM模块常用表结构
  19. 华为手机怎么编辑PDF?一款神器轻松搞定
  20. (转载)IT经理世界封面报道:淘宝效应

热门文章

  1. 【Mybatis】foreach标签在mybatis中的使用
  2. Python定时任务框架APScheduler
  3. LeetCode - 7. Reverse Integer
  4. scjp考试准备 - 11 - 类型转换2
  5. 测试SQLServer拆分字符串到临时表
  6. 编译内核模块找不到内核头文件解决办法
  7. 无聊闲做,从使用PHP数组实现约瑟夫环问题谈性能
  8. xadmin与admin设置
  9. github 上 Fork 别人的项目后的常用的操作指南
  10. logistics模型的训练