Python方法对url的 "non-standard"部分进行引用

标签 python

我有以下网址:

https://www.verizon.com/OnDemand/TVShows/TVShowDetails/Sr. Avila/1/9

我想对其进行编码,使其看起来像正常的网址,但有效。例如:

https://www.verizon.com/OnDemand/TVShows/TVShowDetails/Sr.%20Avila/1/9

但是,如果我使用标准 urllib.quote 它会编码所有内容:

>>> urllib.quote('https://www.verizon.com/OnDemand/TVShows/TVShowDetails/Sr. Avila/1/9')
'https%3A//www.verizon.com/OnDemand/TVShows/TVShowDetails/Sr.%20Avila/1/9'

是否有一个 python 方法只对 url 的非标准部分进行编码,即排除正斜杠和冒号等?

最佳答案

您想要“安全”参数:

如果您使用的是 Python3,请使用 urllib.parse:

import urllib.parse

x ='https://www.verizon.com/OnDemand/TVShows/TVShowDetails/Sr. Avila/1/9'
urllib.parse.quote(x, safe = ':/')

输出:

 'https://www.verizon.com/OnDemand/TVShows/TVShowDetails/Sr.%20Avila/1/9'

关于Python方法对url的 "non-standard"部分进行引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41192394/

相关文章:

python - 从日期时间对象中减去 datetime.datetime.now()

python - 2 的最大次方不大于给定值

python - Python 的 "super"如何做正确的事?

python - 找不到带有 nginx + mod_wsgi 模板文件的 webpy

python - Pandas DataFrame 从列索引返回值

python - 解析 <span> 标签并使用 python 获取数据

python - 使用 if 检查实例

python - 在 git 中使用 python sh 模块

python - 如何扫描dynamodb中的所有项目?

python - 使用 pyenv 全局命令切换 python 版本时遇到问题