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 相关文章推荐
python处理html转义字符的方法详解
Jul 01 Python
pygame游戏之旅 计算游戏中躲过的障碍数量
Nov 20 Python
利用arcgis的python读取要素的X,Y方法
Dec 22 Python
TensorFlow卷积神经网络之使用训练好的模型识别猫狗图片
Mar 14 Python
Django框架实现的分页demo示例
May 25 Python
python字符串切割:str.split()与re.split()的对比分析
Jul 16 Python
python GUI库图形界面开发之PyQt5滑块条控件QSlider详细使用方法与实例
Feb 28 Python
pycharm激活码快速激活及使用步骤
Mar 12 Python
Python面向对象程序设计之类和对象、实例变量、类变量用法分析
Mar 23 Python
python将logging模块封装成单独模块并实现动态切换Level方式
May 12 Python
python 绘制场景热力图的示例
Sep 23 Python
TensorFlow的环境配置与安装方法
Feb 20 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的ajax简单实例
2014/02/27 PHP
php获取网页中图片、DIV内容的简单方法
2014/06/19 PHP
PHP配置ZendOpcache插件加速
2019/02/14 PHP
javascript中的location用法简单介绍
2007/03/07 Javascript
修改jQuery.Autocomplete插件 支持中文输入法 避免TAB、ENTER键失效、导致表单提交
2009/10/11 Javascript
收集的10个免费的jQuery相册
2011/02/26 Javascript
使用Jquery来实现可以输入值的下拉选单 雏型
2011/12/06 Javascript
JQuery调webservice实现邮箱验证(检测是否可用)
2013/05/21 Javascript
Javascript 颜色渐变效果的实现代码
2013/10/01 Javascript
js控制div弹出层实现方法
2015/05/11 Javascript
各式各样的导航条效果css3结合jquery代码实现
2016/09/17 Javascript
jQuery绑定事件的四种方式介绍
2016/10/31 Javascript
JS克隆,属性,数组,对象,函数实例分析
2016/11/26 Javascript
简单谈谈require模块化jquery和angular的问题
2017/06/23 jQuery
js获取form表单中name属性的值
2019/02/27 Javascript
node.js实现微信开发之获取用户授权
2019/03/18 Javascript
简明 Python 基础学习教程
2007/02/08 Python
Python操作远程服务器 paramiko模块详细介绍
2019/08/07 Python
Python Lambda函数使用总结详解
2019/12/11 Python
python生成并处理uuid的实现方式
2020/03/03 Python
详解Ubuntu环境下部署Django+uwsgi+nginx总结
2020/04/02 Python
jupyter 实现notebook中显示完整的行和列
2020/04/09 Python
Django使用Profile扩展User模块方式
2020/05/14 Python
浅谈keras中的Merge层(实现层的相加、相减、相乘实例)
2020/05/23 Python
解决Keras的自定义lambda层去reshape张量时model保存出错问题
2020/07/01 Python
Python3如何实现Win10桌面自动切换
2020/08/11 Python
5个你不知道的HTML5的接口介绍
2013/08/07 HTML / CSS
一款利用html5和css3动画排列人物头像的实例演示
2014/12/05 HTML / CSS
美国益智玩具购物网站:Fat Brain Toys
2017/11/03 全球购物
心理健康教育制度
2014/01/27 职场文书
公司委托书格式范文
2014/04/04 职场文书
2015年毕业实习工作总结
2014/12/12 职场文书
2015年小学数学教研组工作总结
2015/05/21 职场文书
毕业生登记表班级意见
2015/06/05 职场文书
企业团队精神心得体会
2016/01/19 职场文书
Rust中的Struct使用示例详解
2022/08/14 Javascript