python解析html的库_python自带的用于解析HTML的库HtmlParser
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相关推荐
- python的最大绘图速度_Python数据可视化之高速绘图神器PyQtGraph库,强烈建议收藏...
01为什么使用PyQtGraph库 我们知道,在Python中,已经有了很多可供选择的数据可视化库. 比如最经典.使用人数最多的matplotlib库,其有着十多年的历史积累,可生成高质量出版级别的图 ...
- python新式类c3算法_Python新式类的方法解析顺序MRO与Super
新式类与经典类的方法解析顺序 MOR(方法解析顺序) 经典类:深度优先 DFS python3以前 新式类:广度优先 python2.2 新式类:广度优先的C3算法实现(拓扑排序) BFS pytho ...
- python数据可视化库_python和r中用于数据可视化的前9个库
python数据可视化库 In the rapidly growing world of today, when technology is expanding at a rate like neve ...
- python自带的用于解析HTML的库HtmlParser
转自博客https://www.cnblogs.com/masako/p/5868367.html HtmlParser,顾名思义,是解析Html的一个工具.python自带的. 一.常用属性和方法介 ...
- python图片解析库_python用来获得图片exif信息的库实例分析
本文实例讲述了python用来获得图片exif信息的库用法.分享给大家供大家参考.具体分析如下: exif-py是一个纯python实现的获取图片元数据的python库,官方下载地址: http:// ...
- python使用osgeo库_Python使用内置urllib模块或第三方库requests访问网络资源
前言 更多内容,请访问我的 个人博客. Python 访问网络资源有很多方法,urllib, urllib2, urllib3, httplib, httplib2, requests ,现介绍如下两 ...
- python列表解析式如何使用_python列表推导式操作解析
python列表推导式操作解析 这篇文章主要介绍了python列表推导式操作解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 基本格式 [表达式 ...
- python安装matlabb库_Python调用MATLAB的方法(mlab接口库)(未总结)-Go语言中文社区...
一.安装 安装mlab库 pip install mlab 显示错误 No module named 'docutils' (不知道这是什么库) pip install docutils (安装 ...
- python 接口测试 如何写配置文件_python接口自动化测试 - configparser配置文件解析器详细使用...
configparser简介 ConfigParser模块已在Python 3中重命名为configparser 该模块定义了ConfigParser类. ConfigParser类实现一种基本的配置 ...
最新文章
- h5大转盘抽奖源码后台_微信H5互动营销应该要如何做?
- Python Scrapy爬虫框架实战应用
- git stash 个人理解
- Java程序员:这是一个最好的时代,也是一个最坏的时代...
- photoshop 常见问题与分析
- 基于AppDomain的插件式开发
- java 崩溃日志_Android收集程序崩溃日志的方法
- “高考”机器人横空出世 2017年居然要考“大学”
- CCIE-LAB-SDN-第六篇-SDWAN-Branch2-vEdge-51-vEdge-52
- DE11 Theory of General Second-order Linear Homogeneous ODEs
- BI在企业数字化转型中的价值
- matlab工具箱参数修改,使用matlab工具箱标定摄像头(内参数)
- 手机网站注册页面html模板,手机网页登录注册自适应模版
- Python绘图——RGB颜色对照表
- 图形2.5 Bump Map的改进(凹凸映射)
- 播布客学习视频_C学习笔记_simple
- C++虚函数表(vtable)和虚函数指针(vfptr)
- bom树形结构 表设计_BOM模块常用表结构
- 华为手机怎么编辑PDF?一款神器轻松搞定
- (转载)IT经理世界封面报道:淘宝效应