Python进阶记录之HTMLParser模块( 二 )


然而 , 当前文本内容一整段在一起 , 看起来并不美观 , 与实际分段的新闻文本内容也有差别 。我们可以使用HTMLParser来美化新闻内容 。我们知道 , 网页上的新闻内容是通过“n”、“t”、“<br/>”等特殊符号或标签进行间隔和分段的 。因此 , 我们只需要在解析时替换掉这些特殊符号和标签即可 。

Python进阶记录之HTMLParser模块

文章插图
替换特殊符号和标签
重写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模块】


推荐阅读