Answers:
使用urllib.urlencode()
。它采用键值对字典,然后将其转换为适合网址的形式(例如,key1=val1&key2=val2
)。
如果您使用的是Python3,请使用 urllib.parse.urlencode()
如果要使用重复的参数创建URL,例如:p=1&p=2&p=3
您有两个选择:
>>> import urllib
>>> a = (('p',1),('p',2), ('p', 3))
>>> urllib.urlencode(a)
'p=1&p=2&p=3'
或者,如果您想使用重复的参数创建网址:
>>> urllib.urlencode({'p': [1, 2, 3]}, doseq=True)
'p=1&p=2&p=3'
doeseq
是什么意思:“如果查询arg中的任何值都是序列,而doseq为true,则每个序列元素都将转换为单独的参数。”
使用第三方Python URL操作库furl:
f = furl.furl('')
f.args = {'a':'A', 'b':'B'}
print(f.url) # prints ... '?a=A&b=B'
如果需要重复的参数,可以执行以下操作:
f = furl.furl('')
f.args = [('a', 'A'), ('b', 'B'),('b', 'B2')]
print(f.url) # prints ... '?a=A&b=B&b=B2'
pip install furl
它不是标准库的一部分