我需要在参数q上加上+4,并在修改后取消对查询字符串的解析。我遇到的问题是parse_qsl给了一个列表中的元组,所以我不能修改这个元组。我不能使用parse_qs,因为我有多个同名的参数。如何修改Q参数,如何解析本场景下的查询?
from urllib import parse
url = 'https://www.test.com/search?q=one+two+three&array[]=apple&array[]=oranges'
parts = parse.urlparse(url)
querys = parse.parse_qsl(parts.query)
# >>> querys
# [('q', 'one two three'), ('array[]', 'apple'), ('array[]', 'oranges')]发布于 2019-03-30 03:11:26
我不确定我是否正确理解了你的问题,这是你想要的吗?
from urllib import parse
url = 'https://www.test.com/search?q=one+two+three&array[]=apple&array[]=oranges'
parts = parse.urlparse(url)
querys = [list(q) for q in parse.parse_qsl(parts.query)]
for q in querys:
if q[0] == 'q':
q[1] = q[1] + ' four'
print([tuple(q) for q in querys])
#[('q', 'one two three four'), ('array[]', 'apple'), ('array[]', 'oranges')]https://stackoverflow.com/questions/55423702
复制相似问题