然而 , 当前文本内容一整段在一起 , 看起来并不美观 , 与实际分段的新闻文本内容也有差别 。我们可以使用HTMLParser来美化新闻内容 。我们知道 , 网页上的新闻内容是通过“n”、“t”、“<br/>”等特殊符号或标签进行间隔和分段的 。因此 , 我们只需要在解析时替换掉这些特殊符号和标签即可 。
文章插图
替换特殊符号和标签
重写handle_data(data)方法 , 识别文本的同时替换掉“t”、“r”、“n”等特殊字符;重写handle_starttag(tag, attrs)方法 , 识别出<p>、<br>进行替换;重写handle_startendtag(tag, attrs)方法 , 识别出<br/>进行替换 。再次运行程序 , 可以看到 , 新闻内容进行了分段 , 看起来就美观多了 。
上述过程实现了一个非常简单的爬虫 , 爬取新闻网页 , 提取新闻内容 。当然 , 由于我们目前还没介绍其他第三方库 , 实现起来还不够灵活 , 例如获取新闻内容的div我们现在只能通过正则表达式实现 , 但实际上 , 如果使用lxml(etree、xpath)、BeautifulSoup等第三方库会更简单实用 。
总结以上内容介绍了Python内置的HTML解析库HTMLParser模块 , 需要重点掌握HTMLParser类常用方法的作用 , 能够重写这些方法进行自定义解析 。感谢大家的支持与关注 , 欢迎一起学习交流~
【Python进阶记录之HTMLParser模块】
推荐阅读
- Python爬虫案例,腾讯动漫爬虫,步骤超详细解释,源码分析
- Faust - 简洁高效的 Python 流处理库
- Python虚拟环境实用指南
- Python爬取下载m3u8加密视频,原来这么简单
- 人类最长不吃饭记录?世界上不用吃饭的人
- 五步掌握用VSCode进行高效Python开发
- Python开发必备:如何建立一个完美的项目工程环境
- Python 语言基础变量获得变量类型
- Python线上环境如何优雅地使用日志?
- Windows Python 命令行如何退出