首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >用Python对UTF-8进行Url解码

用Python对UTF-8进行Url解码
EN

Stack Overflow用户
提问于 2013-05-15 21:16:55
回答 3查看 313.3K关注 0票数 316

因为我是Python的新手,所以我已经花了很多时间。

我怎么能解码这样的URL:

代码语言:javascript
复制
example.com?title=%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D0%B2%D0%B0%D1%8F+%D0%B7%D0%B0%D1%89%D0%B8%D1%82%D0%B0

对于Python2.7中的这个:example.com?title==правовая+защита

url=urllib.unquote(url.encode("utf8"))返回了一些非常难看的东西。

仍然没有解决方案,任何帮助都是非常感谢的。

EN

回答 3

Stack Overflow用户

发布于 2015-09-08 15:42:15

如果您使用的是Python 3,则可以使用urllib.parse

代码语言:javascript
复制
url = """example.com?title=%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D0%B2%D0%B0%D1%8F+%D0%B7%D0%B0%D1%89%D0%B8%D1%82%D0%B0"""

import urllib.parse
urllib.parse.unquote(url)

提供:

代码语言:javascript
复制
'example.com?title=правовая+защита'
票数 158
EN

Stack Overflow用户

发布于 2020-08-11 07:19:58

使用requests库也可以达到预期的效果:

代码语言:javascript
复制
import requests

url = "http://www.mywebsite.org/Data%20Set.zip"

print(f"Before: {url}")
print(f"After:  {requests.utils.unquote(url)}")

输出:

代码语言:javascript
复制
$ python3 test_url_unquote.py

Before: http://www.mywebsite.org/Data%20Set.zip
After:  http://www.mywebsite.org/Data Set.zip

如果您已经在使用requests,而不使用其他库来完成此工作,那么它可能会很方便。

票数 14
EN

Stack Overflow用户

发布于 2021-08-11 11:24:41

在HTML中,URL可以包含html实体。这也取代了它们。

代码语言:javascript
复制
#from urllib import unquote #earlier python version
from urllib.request import unquote
from html import unescape
unescape(unquote('https://v.w.xy/p1/p22?userId=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx&confirmationToken=7uAf%2fxJoxRTFAZdxslCn2uwVR9vV7cYrlHs%2fl9sU%2frix9f9CnVx8uUT%2bu8y1%2fWCs99INKDnfA2ayhGP1ZD0z%2bodXjK9xL5I4gjKR2xp7p8Sckvb04mddf%2fiG75QYiRevgqdMnvd9N5VZp2ksBc83lDg7%2fgxqIwktteSI9RA3Ux9VIiNxx%2fZLe9dZSHxRq9AA'))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16566069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档