Python 网络编程测试-Parser初探
来源:互联网 发布:华为云计算业务运营部 编辑:程序博客网 时间:2024/06/08 00:26
HTML或者XHTML可能是每个使用电脑的人最常接触的编程语言,在感叹google , bing , baidu等等(顺便加上我老师的安图搜索)搜索引擎搜索功能的强大时,有没有想过自己编写一个呢?
下面的code是测试而已,不论从“表面“或者从”内在“来说都存在一大堆问题,仅供同学们参考
code实现了从网页信息中获取图片URL的功能
class ImgParser(HTMLParser): def __init__(self):self.tag = ''self.attrs = ''self.readingtitle = FalseHTMLParser.__init__(self) def handle_starttag(self , tag , attrs):if tag == 'img': self.readingtitle = True for name , value in attrs:print(value) def handle_data(self , data):if self.readingtitle == True: self.tag += data def handle_endtag(self , tag):if tag == 'img': self.readingtitle = False
这里HTMLParser模块还是要说一下的(很有意思的模块):
HTMLParser本身是不提供太多功能的,如果需要解析HTML的话,就继承HTMLParser就可以了。对于一些特定的功能函数,类似于C++中的virtual函数(个人理解)来定义对HTML中的Element进行细微的处理:
handle_starttag(self , tag , attrs): 处理开始标签内的信息<tag attrs = "...">data</tag>,其中attrs(属性)将会以存储在list中
handle_endtag(self , tag):处理结束标签内的信息<tag attrs = "...">data</tag>
handle_data(self , data):处理元素数据信息<tag attrs = "...">data</tag>
测试的test.html:
<!--Basic Title parsing--><HTML><HEAD><TITLE>Document Title</TITLE> </HEAD> <BODY id="1" name="this is a body"><img id = "1" src = "here is the image data" >hoho</img> here is the test </BODY></HTML>
当然一个好的parser(爬虫谐音么???是音译过来的???牛人指教)不会三下两下就完成的,了解解析机制之后,要做的就是虚心学习,交流和努力了
- Python 网络编程测试-Parser初探
- Python 网络编程测试-socket初探
- Python 网络编程测试-Email初探
- Python网络编程测试-Email初探
- python 网络编程测试-host应答
- python网络编程测试-broadcast
- Python网络编程测试-DNS
- Python 网络编程测试-HTML解析
- python学习八:网络编程初探
- 初探网络性能测试
- 网络异常测试初探
- 初探网络性能测试
- python使用nmap管理网络的编程初探
- C#网络编程初探
- C#网络编程初探
- C#网络编程初探
- C#网络编程初探
- C#网络编程初探
- .NET 下的多线程
- cmake与autoconf+automake的对比
- java一行一行写入或读取数据
- SQL Server 2008 R2 性能计数器详细列表(一)
- 关于JavaScript你可能不知道的事 1 - 5
- Python 网络编程测试-Parser初探
- glGenBuffersARB 运行时访问冲突
- 内存映射
- centos 安装,配置memcached
- MFC改变对话框中静态文本的字体大小
- DOS 命令打开文件及网页
- X264结构体中的变量解释
- EBS中取profile值的用法
- matlab格式自动重排 快捷键