python中HTMLParser模块知识点总结


Posted in Python onJanuary 25, 2021

本章内容,我们主要来讲一下Python内置的HTML解析库HTMLParser模块,基本上也是应用于页面抓取上,假设,我们需要去收集页面上已存在的静态链接,但是页面肯定代码量都非常大,并且页面也很多,这样看来,会比较麻烦,工作量也非常大,这个时候,我们就可以用到htmlparser模块,一起来了解具体使用内容。

安装:

npm install htmlparser

htmlparser提供构造函数:

function Parser(handler) {
  this._handler = handler;
}

HTMLParser解析HTML:

from html.parser import HTMLParser
from html.entities import name2codepoint
class MyHTMLParser(HTMLParser):
  def handle_starttag(self, tag, attrs):
    print('<%s>' % tag)
  def handle_endtag(self, tag):
    print('</%s>' % tag)
  def handle_startendtag(self, tag, attrs):
    print('<%s/>' % tag)
  def handle_data(self, data):
    print(data)
  def handle_comment(self, data):
    print('<!--', data, '-->')
  def handle_entityref(self, name):
    print('&%s;' % name)
  def handle_charref(self, name):
    print('&#%s;' % name)
parser = MyHTMLParser()
parser.feed('''<html>
<head></head>
<body>
<!-- test html parser -->
  <p>Some <a href=\"#\">html</a> HTML tutorial...<br>END</p>
</body></html>''')

HTML本质上是XML的子集,但是HTML的语法没有XML那么严格,大家也可以尝试利用HTMLParser解析HTML。

知识点扩展:

常用方法介绍

l feed(data):主要用于接受带html标签的str,当调用这个方法时并提供相应的data时,整个实例(instance)开始执行,结束执行close()。

l handle_starttag(tag, attrs): 这个方法接收Parse_starttag返回的tag和attrs,并进行处理,处理方式通常由使用者进行覆盖,本身为空。

例如,连接的start tag是<a>,那么对应的参数tag='a'(小写)。attrs是start tag <>中的属性,以元组形式(name, value)返回(所有这些内容都是小写)。

例如,对于<A HREF="http://www.baidu.com“>,那么内部调用形式为:handle_starttag('a',[(‘href','http://www.baidu.com)]).

l handle_endtag(tag):跟上述一样,只是处理的是结束标签,也就是以</开头的标签。

l handle_data(data):处理的是网页的数据,也就是开始标签和结束标签之间的内容。例如:<script>...</script>的省略号内容

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

l reset():将实例重置,包括作为参数输入的数据进行清空。

到此这篇关于python中HTMLParser模块知识点总结的文章就介绍到这了,更多相关python中HTMLParser模块是什么内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

到此这篇关于python中HTMLParser模块知识点总结的文章就介绍到这了,更多相关python中HTMLParser模块是什么内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
wxPython学习之主框架实例
Sep 28 Python
python实现获取客户机上指定文件并传输到服务器的方法
Mar 16 Python
谈谈如何手动释放Python的内存
Dec 17 Python
python按综合、销量排序抓取100页的淘宝商品列表信息
Feb 24 Python
python pandas中DataFrame类型数据操作函数的方法
Apr 08 Python
在pandas多重索引multiIndex中选定指定索引的行方法
Nov 16 Python
python安装numpy和pandas的方法步骤
May 27 Python
使用Python Pandas处理亿级数据的方法
Jun 24 Python
pytorch实现focal loss的两种方式小结
Jan 02 Python
Linux下升级安装python3.8并配置pip及yum的教程
Jan 02 Python
python爬取本站电子书信息并入库的实现代码
Jan 20 Python
Python加密技术之RSA加密解密的实现
Apr 08 Python
pycharm配置QtDesigner的超详细方法
Jan 25 #Python
Python扫描端口的实现
Jan 25 #Python
Python 将代码转换为可执行文件脱离python环境运行(步骤详解)
Jan 25 #Python
Python实现京东抢秒杀功能
Jan 25 #Python
Python Process创建进程的2种方法详解
Jan 25 #Python
使用python对excel表格处理的一些小功能
Jan 25 #Python
全网最详细的PyCharm+Anaconda的安装过程图解
Jan 25 #Python
You might like
图片存储与浏览一例(Linux+Apache+PHP+MySQL)
2006/10/09 PHP
使用PHP实现二分查找算法代码分享
2011/06/24 PHP
PHP中的一些常用函数收集
2015/05/26 PHP
分享ThinkPHP3.2中关联查询解决思路
2015/09/20 PHP
Yii开启片段缓存的方法
2016/03/28 PHP
PHP实现的无限分类类库定义与用法示例【基于thinkPHP】
2018/08/06 PHP
用JavaScript显示随机图像或引用
2009/04/21 Javascript
javascript appendChild,innerHTML,join性能比较代码
2009/08/29 Javascript
DWZ table的原生分页浅谈
2013/03/01 Javascript
JavaScript实现99乘法表及隔行变色实例代码
2016/02/24 Javascript
简单讲解AngularJS的Routing路由的定义与使用
2016/03/05 Javascript
js基于cookie方式记住返回页面用法示例
2016/05/27 Javascript
BootStrap模态框不垂直居中的解决方法
2017/10/19 Javascript
vue cli 3.0 使用全过程解析
2018/06/14 Javascript
element-ui 中的table的列隐藏问题解决
2018/08/24 Javascript
教你30秒发布一个TypeScript包到NPM的方法步骤
2019/07/22 Javascript
javascript面向对象创建对象的方式小结
2019/07/29 Javascript
vue Tab切换以及缓存页面处理的几种方式
2019/11/05 Javascript
jQuery实现简单弹幕效果
2019/11/28 jQuery
Node.js+Vue脚手架环境搭建的方法步骤
2020/03/08 Javascript
原生JavaScript实现弹幕组件的示例代码
2020/10/12 Javascript
Python的Flask框架中Flask-Admin库的简单入门指引
2015/04/07 Python
python将ansible配置转为json格式实例代码
2017/05/15 Python
python matplotlib中文显示参数设置解析
2017/12/15 Python
破解安装Pycharm的方法
2018/10/19 Python
Python时间差中seconds和total_seconds的区别详解
2019/12/26 Python
Python使用Tkinter实现转盘抽奖器的步骤详解
2020/01/06 Python
Selenium元素定位的30种方式(史上最全)
2020/05/11 Python
简单的Python人脸识别系统
2020/07/14 Python
浅谈anaconda python 版本对应关系
2020/10/07 Python
python 爬虫如何实现百度翻译
2020/11/16 Python
Abe’s of Maine:自1979以来销售相机和电子产品
2016/11/21 全球购物
Wallis官网:英国女装零售商
2020/01/21 全球购物
C#笔试题和英文面试题
2013/02/07 面试题
篮球赛闭幕式主持词
2015/07/03 职场文书
2015年小学教师培训工作总结
2015/07/21 职场文书