处理文字数据踩过的坑

最近笔者尝试使用一些文字数据,发现有很多奇怪的东西
比如:
乍一看数据看着挺正常的,但是:

Possibly the best police drama series since "police story"  and "naked city".

" 是什么,不只是 " 还有’ “ ... 很多,但是,仔细观察会发现它们都是成对出现的,而且形式也很一致。

实际上,它是在这段数据中有html标签,处理方法:
python代码:

    tree = etree.fromstring("<html>" + text + "</html>") //text 为String 数据
    print(count, tree.text)

这个时候就会有新的问题:

lxml.etree.XMLSyntaxError: xmlParseEntityRef: no name, line 1, column 3283

经笔者排查,发现是因为文字里面有一些不是html标签,但是使用&符号的文字,解决方法,将这些&替换成&

text = text.replace(' & ', ' &amp; ').replace('& ', '&amp; ')

但是还是会有问题:

lxml.etree.XMLSyntaxError: Entity 'eacute' not defined, line 1, column 4318

这是因为,&eacute 在这里不能被识别
方法:

text = text.replace('&eacute', '&#233;').replace('&egrave', '&#232;').replace('&euro', '&#8364;')

解决

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容