• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > python网络编程学习笔记(七):HTML和XHTML解析(HTMLParser、BeautifulSoup)

python网络编程学习笔记(七):HTML和XHTML解析(HTMLParser、BeautifulSoup)

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了python网络编程学习笔记(七):HTML和XHTML解析(HTMLParser、BeautifulSoup)等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

一、利用HTMLParser进行网页解析
具体HTMLParser官方文档可参考http://docs.python.org/library/htmlparser.html#HTMLParser.HTMLParser

1、从一个简单的解析例子开始
例1:
test1.html文件内容如下:

下面是能够列出title和body的程序示例:

运行结果如下:
title: XHTML 与 HTML 4.01 标准没有太多的不同
body:
i love you
程序定义了一个TitleParser类,它是HTMLParser类的子孙。HTMLParser的feed方法将接收数据,并通过定义的HTMLParser对象对数据进行相应的解析。其中handle_starttag、handle_endtag判断起始和终止tag,handle_data检查是否取得数据,如果self.processing不为None,那么就取得数据。

2、解决html实体问题
(HTML 中有用的字符实体)
(1)实体名称
当与到HTML中的实体问题时,上面的例子就无法实现,如这里将test1.html的代码改为:
例2:

利用上面的例子进行分析,其结果是:
title: XHTML 与 HTML 4.01 标准没有太多的不同
body:
i love you
实体完全消失了。这是因为当出现实体的时候,HTMLParser调用了handle_entityref()方法,因为代码中没有定义这个方法,所以就什么都没有做。经过修改后,如下:

运行结果为:
title: XHTML 与" HTML 4.01 "标准没有太多的不同
body:
i love you×
这里就把所有的实体显示出来了。

(2)实体编码
例3:

如果利用例2的代码执行后结果为:

title: XHTML 与" HTML 4.01 "标准没有太多的不同
body:
i love you×
结果中÷ 对应的÷没有显示出来。
添加handle_charref()进行处理,具体代码如下:

  &n

您可能想查找下面的文章:

相关文章

  • python中的yield使用方法
  • 浅谈python 四种数值类型(int,long,float,complex)
  • Python中方法链的使用方法
  • Python内置的字符串处理函数详细整理(覆盖日常所用)
  • python私有属性和方法实例分析
  • Python+django实现简单的文件上传
  • Python 实现简单的电话本功能
  • 使用Python的Twisted框架构建非阻塞下载程序的实例教程
  • python3中set(集合)的语法总结分享
  • python smtplib模块发送SSL/TLS安全邮件实例

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • python计算最小优先级队列代码分享
    • python制作最美应用的爬虫
    • python实现应用程序在右键菜单中添加打开方式功能
    • Python正则表达式实现截取成对括号的方法
    • Python实现冒泡,插入,选择排序简单实例
    • Python高效编程技巧
    • python实现的简单FTP上传下载文件实例
    • RC4文件加密的python实现方法
    • python中base64加密解密方法实例分析
    • python基础教程之popen函数操作其它程序的输入和输出示例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有