python提取url中的所有中文字符

以“冠心病”百科首页为例:

复制url后,由于我们没有进行任何处理,此时javascript请求URL并传参数存在中文时,对URL的中文参数进行编码是按照浏览器机制进行编码的,此时编码存在乱码问题。

# -*- coding: UTF-8 -*-
import re
from urllib.request import quote, unquote


# 冠心病百科url
url = 'https://baike.baidu.com/item/%E5%86%A0%E7%8A%B6%E5%8A%A8%E8%84%89%E7%B2%A5%E6%A0%B7%E7%A1%AC%E5%8C%96%E6%80%A7%E' \
      '5%BF%83%E8%84%8F%E7%97%85/2252719?fromtitle=%E5%86%A0%E5%BF%83%E7%97%85&fromid=547914&fr=aladdin'
h = unquote(url, encoding='utf-8')  # 解码,将url中转码的中文字符解码
pattern = re.compile("[^\u4e00-\u9fa5]")  # 模式匹配所有中文字符
m = re.sub(pattern, '', h)  # 将模式外的所有字符用空代替,即非中文字符
print(m)

运行结果:

猜你喜欢

转载自www.cnblogs.com/cttcarrotsgarden/p/12219948.html
今日推荐