例如在网页源代码中有如下中文字段(charset=‘utf-8’):
发布: 2016-7-27 11:18 | 作者: |
查看: 63次据新华社电全球最大太阳能飞机“阳光动力”2号当地时间26日凌晨在阿联酋首都阿布扎比巴廷商务机场平稳降落,完成全程约3.5万公里的环球飞行,创造了全球不耗费任何燃料、完全依靠太阳能作为动力的飞机环球飞行纪录。
要想去除上段文字中的红色字段,正则表达式如下:
import lxml.etree as etree selector = etree.HTML(html) body = selector.xpath('//div[@id="article"]//p/text()') body = re.sub(u'发布([\w\W]+?)次','',u''.join(body)) print body
#结果如下:据新华社电全球最大太阳能飞机“阳光动力”2号当地时间26日凌晨在阿联酋首都阿布扎比巴廷商务机场平稳降落,完成全程约3.5万公里的环球飞行,创造了全球不耗费任何燃料、完全依靠太阳能作为动力的飞机环球飞行纪录。
正则表达式中,需要把所有中文字符都转化为unicode(如 u'发布([\w\W]+?)次' 、u' '.join(body))!
第一个正则匹配是把‘发布([\w\W]+?)次’全部转化为unicode(pycharm会自动识别其中的正则表达式),
第二个则是将body列表中的所有元素转化为unicode.