博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python HTMLparser
阅读量:5912 次
发布时间:2019-06-19

本文共 1420 字,大约阅读时间需要 4 分钟。

1.概述

 

1 如果我们要编写一个搜索引擎,第一步是用爬虫把目标网站的页面抓下来, 2 第二步就是解析该HTML页面,看看里面的内容到底是新闻、图片还是视频。 3  4 假设第一步已经完成了,第二步应该如何解析HTML呢? 5  6 HTML本质上是XML的子集,但是HTML的语法没有XML那么严格,所以不能用标准的DOM或SAX来解析HTML。 7 也可以用 re正则表达式 8 scrapy 框架下的css选择器或者xpath 9 10 仁者见仁智者见智

 

2.HTMLparser

1 # 使用时需要定义一个从类HTMLParser继承的类,重定义函数: 2 # handle_starttag( tag, attrs) 3 #handle_startendtag( tag, attrs) 4 # handle_endtag( tag) 5  6 # 来实现自己需要的功能。 7  8 # tag是的html标签,attrs是 (属性,值)元组(tuple)的列表(list)。 9 # HTMLParser自动将tag和attrs都转为小写10 11 12 from html.parser import HTMLParser  13 class MyHTMLParser(HTMLParser):   14     def __init__(self):   15         HTMLParser.__init__(self)   16         self.links = []   17     def handle_starttag(self, tag, attrs):   18         #print "Encountered the beginning of a %s tag" % tag   19         if tag == "a":   20             if len(attrs) == 0:   21                 pass   22             else:   23                 for (variable, value) in attrs:   24                     if variable == "href":   25                         self.links.append(value)   26                      27 if __name__ == "__main__":   28     html_code = """  google.com  PythonClub   Sina  """   29     hp = MyHTMLParser()   30     hp.feed(html_code)   31     hp.close()   32     print(hp.links)  33 # 运行结果34 # ['www.google.com', 'www.pythonclub.org', 'www.sina.com.cn']

3.总结

 1 个人观点 2 如果是做搜索引擎建议还是用scrapy框架  

 

 参照:

转载于:https://www.cnblogs.com/jum-bolg/p/11094743.html

你可能感兴趣的文章
闭包 !if(){}.call()
查看>>
python MySQLdb安装和使用
查看>>
Java小细节
查看>>
poj - 1860 Currency Exchange
查看>>
chgrp命令
查看>>
Java集合框架GS Collections具体解释
查看>>
洛谷 P2486 BZOJ 2243 [SDOI2011]染色
查看>>
linux 笔记本的温度提示
查看>>
数值积分中的辛普森方法及其误差估计
查看>>
Web service (一) 原理和项目开发实战
查看>>
跑带宽度多少合适_跑步机选购跑带要多宽,你的身体早就告诉你了
查看>>
广平县北方计算机第一届PS设计大赛
查看>>
深入理解Java的接口和抽象类
查看>>
java与xml
查看>>
Javascript异步数据的同步处理方法
查看>>
快速排序——Java
查看>>
unity游戏与我
查看>>
187. Repeated DNA Sequences
查看>>
iis6 zencart1.39 伪静态规则
查看>>
SQL Server代理(3/12):代理警报和操作员
查看>>