跳过字符串中的斜杠 url python

skip slash in string url python

我正在使用 python 请求连接到网站。我正在传递一些字符串以获取有关它们的数据。

问题是一些字符串包含斜杠 /,所以当它们传入 url 时,我得到了 ValueError.

这是我的 url:

https://api.flipkart.net/sellers/skus/%s/listings % string

当传递字符串(不包含斜杠的字符串)时,我得到:

https://api.flipkart.net/sellers/skus/A35-Charry-228_39/listings 

它 returns 一个有效的响应。但是当我传递包含斜杠的字符串时:

string = "L20-ORG/BLUE-109(38)"

我得到 url 喜欢:

https://api.flipkart.net/sellers/skus/L20-ORG/BLUE-109(38)/listings

这会引发错误。

如何解决这个问题?

Python

中的原始字符串文字
string = r"L20-ORG/BLUE-109(38)"

您可以找到更多信息 here and here

urllib.quote_plus 是你的朋友。由于 urllib 是标准库中的一个模块,您只需使用 import urllib.

导入它

如果想保守一点,就用默认值:

string = urllib.quote_plus("L20-ORG/BLUE-109(38)")

给出 'L20-ORG%2FBLUE-109%2838%29'

如果您知道某些字符对您的用例无害(例如括号):

string = urllib.quote_plus("L20-ORG/BLUE-109(38)", '()')

给出 'L20-ORG%2FBLUE-109(38)'