pyList

python 中文和html 实体相互转换

在爬有些网页的中文经常以html 实体出现。

python & #20013;& #25991;& #21644;html & #23454;& #20307;& #30456;& #20114;& #36716;& #25442;

把html 实体和中文互转:

import re

s = 'python 中文和html 实体相互转换'
# s = 'python & #20013;& #25991;& #21644;html & #23454;& #20307;& #30456;& #20114;& #36716;& #25442;'
print s

def convert_callback(matches):
    char_id = matches.group(1)
    try:
        return unichr(int(char_id))
    except:
        return char_id

s2 = re.sub("&#(\d+)(;|(?=\s))", convert_callback, s)

print s2

# print s2.decode('utf-8').encode('ascii','xmlcharrefreplace')
print s2.encode('ascii','xmlcharrefreplace')

输出

python & #20013;& #25991;& #21644;html & #23454;& #20307;& #30456;& #20114;& #36716;& #25442;
python 中文和html 实体相互转换
python & #20013;& #25991;& #21644;html & 23454;& #20307;& #30456;& #20114;& #36716;& #25442;
本文网址: https://pylist.com/t/1418743651 (转载注明出处)
如果你有任何建议或疑问可以在下面 留言
Be the first to comment!
Captcha image
Relative Articles