Как преобразовать строку url в безопасные символы с помощью python?

Предположим, что у меня есть следующая строка:

"http://earth.google.com/gallery/kmz/women_for_women.kmz?a=large"

Есть ли какая-либо функция или модуль, чтобы иметь возможность преобразовать строку, подобную приведенной выше, в строку ниже, где все символы изменены для соответствия URL-адресу:

"http%3A%2F%2Fearth.google.com%2Fgallery%2Fkmz%2Fwomen_for_women.kmz%3Fa%3Dlarge"

Каков наилучший способ сделать это в python?

Ответ 1

urllib.quote_plus

urllib.quote_plus("http://earth.google.com/gallery/kmz/women_for_women.kmz?a=large")

выходы:

'http%3A%2F%2Fearth.google.com%2Fgallery%2Fkmz%2Fwomen_for_women.kmz%3Fa%3Dlarge'

Ответ 2

Вы ищете urllib.quote или urllib.quote_plus? Обратите внимание, что вы не цитируете всю строку URL-адреса, как вы упомянули в вопросе. Обычно вы указываете часть в пути или после строки запроса. Какой бы вы не собираетесь использовать в приложении.

Ответ 3

Доступно на платформе Windows

#! python3.6
from urllib.parse import quote


# result: http://www.oschina.net/search?scope=bbs&q=C%E8%AF%AD%E8%A8%80
quote('http://www.oschina.net/search?scope=bbs&q=C语言',safe='/:?=&')