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 相关文章推荐
python基于socket实现网络广播的方法
Apr 29 Python
python机器学习之决策树分类详解
Dec 20 Python
Python搭建FTP服务器的方法示例
Jan 19 Python
python模块smtplib学习
May 22 Python
Django实战之用户认证(初始配置)
Jul 16 Python
pandas每次多Sheet写入文件的方法
Dec 10 Python
python采集百度搜索结果带有特定URL的链接代码实例
Aug 30 Python
下载与当前Chrome对应的chromedriver.exe(用于python+selenium)
Jan 14 Python
python3 sorted 如何实现自定义排序标准
Mar 12 Python
keras中epoch,batch,loss,val_loss用法说明
Jul 02 Python
Django admin组件的使用
Oct 24 Python
详解使用scrapy进行模拟登陆三种方式
Feb 21 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
两种php调用Java对象的方法
2006/10/09 PHP
PHP中的正规表达式(二)
2006/10/09 PHP
PHP命名空间namespace的定义方法详解
2017/03/29 PHP
List the UTC Time on a Computer
2007/06/11 Javascript
JSON 和 JavaScript eval使用说明
2010/06/13 Javascript
原生javascript获取元素样式属性值的方法
2010/12/25 Javascript
脚本合并提升javascript性能示例
2014/02/24 Javascript
jquery增加和删除元素的方法
2015/01/14 Javascript
JS实现为表格动态添加标题的方法
2015/03/31 Javascript
JavaScript数组前面插入元素的方法
2015/04/06 Javascript
JavaScript表格常用操作方法汇总
2015/04/15 Javascript
JS实现的驼峰式和连字符式转换功能分析
2016/12/21 Javascript
JavaScript中的toString()和toLocaleString()方法的区别
2017/02/15 Javascript
js实现手机发送验证码功能
2017/03/13 Javascript
javascript闭包功能与用法实例分析
2017/04/06 Javascript
详解vue父子组件间传值(props)
2017/06/29 Javascript
H5基于iScroll实现下拉刷新和上拉加载更多
2017/07/18 Javascript
Angular4开发解决跨域问题详解
2017/08/28 Javascript
微信小程序动态评分展示/五角星展示/半颗星展示/自定义长度展示功能的实现
2020/07/22 Javascript
vue通过接口直接下载java生成好的Excel表格案例
2020/10/26 Javascript
Python操作MongoDB数据库PyMongo库使用方法
2015/04/27 Python
python高手之路python处理excel文件(方法汇总)
2016/01/07 Python
详解Python map函数及Python map()函数的用法
2017/11/16 Python
python 3.6 tkinter+urllib+json实现火车车次信息查询功能
2017/12/20 Python
使用memory_profiler监测python代码运行时内存消耗方法
2018/12/03 Python
python多环境切换及pyenv使用过程详解
2019/09/27 Python
python3用urllib抓取贴吧邮箱和QQ实例
2020/03/10 Python
css3实现椭圆轨迹旋转的示例代码
2018/10/29 HTML / CSS
英国剑桥包官网:The Cambridge Satchel Company
2016/08/01 全球购物
Linux的主要特性
2016/09/03 面试题
英文版网络工程师求职信
2013/10/28 职场文书
关爱残疾人标语
2014/06/25 职场文书
2014年爱国卫生工作总结
2014/11/22 职场文书
儿园租房协议书范本
2014/12/02 职场文书
七年级作文之《我和我的祖国》观后感作文
2019/10/18 职场文书
Web应用开发TypeScript使用详解
2022/05/25 Javascript