例如在网页源代码中有如下中文字段(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.