Python学习79:HTMLParser
2023-09-14 09:06:14 时间
如果我们要编写一个搜索引擎,第一步是用爬虫把目标网站的页面抓下来,第二步就是解析该HTML页面,看看里面的内容到底是新闻、图片还是视频。
假设第一步已经完成了,第二步应该如何解析HTML呢?
HTML本质上是XML的子集,但是HTML的语法没有XML那么严格,所以不能用标准的DOM或SAX来解析HTML。
好在Python提供了HTMLParser来非常方便地解析HTML,只需简单几行代码:
from html.parser import HTMLParser
from html.entities import name2codepoint
class MyHTMLParser(HTMLParser):
def handle_starttag(self, tag, attrs):
print('<%s>' % tag)
def handle_endtag(self, tag):
print('</%s>' % tag)
def handle_startendtag(self, tag, attrs):
print('<%s/>' % tag)
def handle_data(self, data):
print(data)
def handle_comment(self, data):
print('<!--', data, '-->')
def handle_entityref(self, name):
print('&%s;' % name)
def handle_charref(self, name):
print('&#%s;' % name)
parser = MyHTMLParser()
parser.feed('''<html>
<head></head>
<body>
<!-- test html parser -->
<p>Some <a href=\"#\">html</a> HTML tutorial...<br>END</p>
</body></html>''')
feed()
方法可以多次调用,也就是不一定一次把整个HTML字符串都塞进去,可以一部分一部分塞进去。
特殊字符有两种,一种是英文表示的
,一种是数字表示的Ӓ
,这两种字符都可以通过Parser解析出来。
小结
利用HTMLParser,可以把网页中的文本、图像等解析出来。
更多内容,可关注作者的微信公众号:胖哥真不错。
相关文章
- 快速入门Python机器学习(26)
- 【python教程入门学习】PyCharm下载和安装教程(包含配置Python解释器)
- Python-drf前戏38.4-前端Vue04
- pycharm上传文件到服务器_python代码部署到服务器
- python整除和取余写法_Python的整除和取余[通俗易懂]
- Python入门系列(六)一篇学会python函数
- 10个常用的损失函数解释以及Python代码实现
- python清理浏览器缓存_以编程方式清除边缘浏览器缓存
- Python抓取数据_python抓取游戏数据
- 【说站】Python中SKlearn是什么
- 【说站】python中del在垃圾回收的使用
- Python pandas按列拆分Excel为多个文件
- 【学习笔记】Python基础
- python上的表白代码_用Python实现表白代码
- python 图像处理库_Python图像处理库
- python能开发arm_获得通用技能的方法
- Python学习-Chapter6 字典
- Python基础-9 类
- 强化学习技巧五:numba提速python程序
- Python学习:6.python内置函数详解编程语言
- python面试题大全(一)详解编程语言
- 掌握Python访问MySQL的新技能(python访问mysql)
- 学习Python精通SQL Server操作技巧(python操作sqlserver)
- Python数据分析学习路线(知识点汇总)
- 30个深度学习库:按Python和C++等10种语言分类
- python算法学习之计数排序实例
- python数据结构之二叉树的建立实例
- Python中的异常处理学习笔记