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中编写数据库模块的教程
Apr 29 Python
在Django框架中编写Context处理器的方法
Jul 20 Python
python中将函数赋值给变量时需要注意的一些问题
Aug 18 Python
python之virtualenv的简单使用方法(必看篇)
Nov 25 Python
Python中的defaultdict与__missing__()使用介绍
Feb 03 Python
transform python环境快速配置方法
Sep 27 Python
python利用tkinter实现屏保
Jul 30 Python
pytorch 加载(.pth)格式的模型实例
Aug 20 Python
Python实现字符串中某个字母的替代功能
Oct 21 Python
使用PyOpenGL绘制三维坐标系实例
Dec 24 Python
解决tensorflow打印tensor有省略号的问题
Feb 04 Python
OpenCV Python实现图像指定区域裁剪
Mar 12 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 feof用来识别文件末尾字符的方法
2010/08/01 PHP
php防注入,表单提交值转义的实现详解
2013/06/10 PHP
javascript+php实现根据用户时区显示当地时间的方法
2015/03/11 PHP
php获得网站访问统计信息类Compete API用法实例
2015/04/02 PHP
php使用cookie实现记住登录状态
2015/04/27 PHP
php_pdo 预处理语句详解
2016/11/21 PHP
PHP 枚举类型的管理与设计知识点总结
2020/02/13 PHP
接收键盘指令的脚本
2006/06/26 Javascript
javascript中setTimeout使用指南
2015/07/26 Javascript
JavaScript获取当前cpu使用率的方法
2015/12/15 Javascript
jQuery简单实现中间浮窗效果
2016/09/04 Javascript
微信小程序  生命周期详解
2016/10/27 Javascript
详解Html a标签中href和onclick用法、区别、优先级别
2017/01/16 Javascript
JavaScript观察者模式(publish/subscribe)原理与实现方法
2017/03/30 Javascript
JavaScript实现前端分页控件
2017/04/19 Javascript
vue组件父子间通信之综合练习(聊天室)
2017/11/07 Javascript
angular组件间通讯的实现方法示例
2020/05/07 Javascript
JavaScript实现点击图片换背景
2020/11/20 Javascript
js实现弹窗猜数字游戏
2020/11/26 Javascript
jquery实现拖拽小方块效果
2020/12/10 jQuery
python操作ssh实现服务器日志下载的方法
2015/06/03 Python
学习python的前途 python挣钱
2019/02/27 Python
图文详解Django使用Pycharm连接MySQL数据库
2019/08/09 Python
关于pymysql模块的使用以及代码详解
2019/09/01 Python
Python FFT合成波形的实例
2019/12/04 Python
python 实现目录复制的三种小结
2019/12/04 Python
flask框架自定义url转换器操作详解
2020/01/25 Python
浅谈Python3中print函数的换行
2020/08/05 Python
HTML5 CSS3给网站设计带来出色效果
2009/07/16 HTML / CSS
瑞士网球商店:Tennis-Point
2020/03/12 全球购物
影视动画专业个人的自我评价
2013/12/31 职场文书
四下基层实施方案
2014/03/28 职场文书
承诺书格式
2014/06/03 职场文书
普通话宣传标语
2014/06/26 职场文书
商务英语专业大学生职业生涯规划书
2014/09/14 职场文书
学习委员竞选稿
2015/11/20 职场文书