1.发现BUG
爬取 chinadrugtrials 详情页的公示的试验信息时候, 发现程序在某些地方跑断掉了,如下:
经排查发现,原来这是网页的bug-----极少数详情页面的某些文字中的小于号,未转化为实体符,连接上后面的 ul 或者a(大写也是), 成了类似标签的东西,
导致bs4 解析时候把它当成了标签的起始尖括号,自动补全了。
BUG简化如下:
输出:
2.解决思路:
因为要用bs4结构化解析页面,不能用正则统一替换小于号(正常标签也会改变),而且情况比较少,所以可以在用 Beautifulsoup解析前,将未转化的小于号转化为实体符 <
代码更改如下:
3.HTML 中有用的字符实体