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

戏子无情 提交于 2020-01-21 01:15:27

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

 

复制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)

 

运行结果:

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!