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之眼花缭乱的运算符
Sep 14 Python
10种检测Python程序运行时间、CPU和内存占用的方法
Apr 01 Python
简单介绍Python中用于求最小值的min()方法
May 15 Python
Python基于pygame实现图片代替鼠标移动效果
Nov 11 Python
结合Python的SimpleHTTPServer源码来解析socket通信
Jun 27 Python
Python md5与sha1加密算法用法分析
Jul 14 Python
Django分页功能的实现代码详解
Jul 29 Python
解析PyCharm Python运行权限问题
Jan 08 Python
Jupyter Notebook 文件默认目录的查看以及更改步骤
Apr 14 Python
python用TensorFlow做图像识别的实现
Apr 21 Python
Django用户登录与注册系统的实现示例
Jun 03 Python
python实现计算器简易版
Dec 17 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之第一天
2006/10/09 PHP
关于Sphinx创建全文检索的索引介绍
2013/06/25 PHP
PHP使用socket发送HTTP请求的方法
2016/02/14 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
2017/09/20 PHP
javascript 二维数组的实现与应用
2010/03/16 Javascript
JQuery的ready函数与JS的onload的区别详解
2013/11/21 Javascript
jQuery实现鼠标经过提示信息的地图热点效果
2015/04/26 Javascript
Javascript中的getUTCHours()方法使用详解
2015/06/10 Javascript
网页收藏夹显示ICO图标(代码少)
2015/08/04 Javascript
AngularJS控制器之间的数据共享及通信详解
2016/08/01 Javascript
jQuery中animate()的使用方法及解决$(”body“).animate({“scrollTop”:top})不被Firefox支持的问题
2017/04/04 jQuery
angularjs实现上拉加载和下拉刷新数据功能
2017/06/12 Javascript
一步步教你利用Canvas对图片进行处理
2017/09/19 Javascript
使用Vue开发一个实时性时间转换指令
2018/01/17 Javascript
10分钟上手vue-cli 3.0 入门介绍
2018/04/04 Javascript
js计算两个日期间的天数月的实例代码
2018/09/20 Javascript
[08:54]DOTA2-DPC中国联赛 正赛 Aster vs LBZS 选手采访
2021/03/11 DOTA
Python中实现变量赋值传递时的引用和拷贝方法
2018/04/29 Python
Python如何省略括号方法详解
2020/03/21 Python
python3 正则表达式基础廖雪峰
2020/03/25 Python
python Matplotlib数据可视化(2):详解三大容器对象与常用设置
2020/09/30 Python
HTML5 LocalStorage 本地存储刷新值还在
2017/03/10 HTML / CSS
Html5 页面适配iPhoneX(就是那么简单)
2019/09/05 HTML / CSS
努比亚手机官网:nubia
2016/10/06 全球购物
英国男女奢华内衣和泳装购物网站:Figleaves
2017/01/28 全球购物
美国著名手表网站:Timepiece
2017/11/15 全球购物
Supersmart英国:欧洲市场首批食品补充剂供应商之一
2018/05/05 全球购物
Myprotein亚太地区:欧洲第一在线运动营养品牌
2020/12/20 全球购物
报社实习生自荐信
2014/01/24 职场文书
生产工厂门卫岗位职责
2014/09/26 职场文书
应聘教师求职信范文
2015/03/20 职场文书
2015党建工作简报
2015/07/21 职场文书
2016党员党课心得体会
2016/01/07 职场文书
2019班干部竞选演讲稿范本!
2019/07/08 职场文书
Python入门学习之类的相关知识总结
2021/05/25 Python
变长双向rnn的正确使用姿势教学
2021/05/31 Python