关于Python中HTMLParser使用的一些小疑问
来源:互联网 发布:阿里云 vpn 编辑:程序博客网 时间:2024/05/14 13:53
这几天在学习HTMLParser的使用,示例代码上都是实现那几个以handle开头的方法来实现特定功能的。handle_starttag和handle_endtag分别是在处理标签开始和结束时调用的。但是对于handle_data这个函数就不太清楚了。在网上找到的文档是这么写的:“This method is called to process arbitrary data”,翻译过来就是“调用此方法来处理任意数据”。对于这里的任意数据,我表示不太理解。本着多动手的原则,我就写了一段代码来测试一下。代码如下:
from HTMLParser import HTMLParserclass MyParser(HTMLParser): def __init__(self): HTMLParser.__init__(self) def handle_starttag(self, tag, attrs): print tag def handle_data(self, data): print 'process' def handle_endtag(self, tag): print tagfile = open('hehehe.txt','r')data = file.read()file.close()mp = MyParser()mp.feed(data)
hehehe.txt如下:
<html><head><title>sdfadf</title></head><body><span>123</span><div>123</div><span>123</span></body></html>
结果:
html
process
head
process
title
process
title
process
head
process
body
process
span
process
span
process
div
process
div
process
span
process
span
process
body
process
html
但是当我把所有标签写到一行,也就是
<html><head><title>sdfadf</title></head><body><span>123</span><div></div><span>123</span></body></html>输出结果为:
html
head
title
process
title
head
body
span
process
span
div
div
span
process
span
body
html
观察结果:当两个标签之间没有任何东西时,程序并没有打印出“process”,反过来也就是说只有相邻两个标签之间有内容(“换行符也算”),程序就会打印出“process”,也就是调用了handle_data函数。若有不当之处,欢迎指正。
0 0
- 关于Python中HTMLParser使用的一些小疑问
- OC中方法的一些小疑问
- 关于Python的一些使用小技巧
- python的一些疑问
- Python HTMLParser的使用例子
- python线程的一些疑问
- 关于360的一些疑问
- 关于PopupMenuListener的一些疑问
- 关于Spring的一些疑问
- 关于chukwa的一些疑问
- 关于jdbc的一些疑问
- 关于MFC的一些疑问
- 关于socket的一些疑问
- 关于定位的一些疑问
- 关于网络中tcp/ip的一些疑问
- 关于Access发布使用打包软件的一些疑问解答
- 关于Access发布使用打包软件的一些疑问解答
- 关于background-image的一些使用心德和疑问!
- git分支branch详解
- atitit.bsh BeanShell 的动态脚本使用java
- UVA 12174 播放器,滑动窗口
- 前端好难 -- 致即将开发移动 Web App 的新人们
- 为什么1个字节的取值范围是-128~127
- 关于Python中HTMLParser使用的一些小疑问
- Atitit.HTTP 代理原理及实现 正向代理与反向代理attilax总结
- Linux系统中的异常堆栈跟踪简单实现
- Linux下c/c++开发之程序崩溃(Segment fault)时内核转储文件(core dump)生成设置方法
- Atitit swt 4.3 4.4 4.5 新特性java attilax总结
- Linux下利用backtrace追踪函数调用堆栈以及定位段错误
- Linux 下 C++ 异常处理技巧
- 62. Unique Paths
- Atitit. Atiposter 发帖机版本历史 编年史