我对python很陌生,所以请容忍我:)
我想知道python中是否有内置的方式将变量附加到URL中,而不管它的结构如何。
我希望在URL中添加一个URL变量(test=1),它可以具有以下任何结构之一
http://www.aaa.com (只需在后面添加"/?test=1")
http://www.aaa.com/home (与上面的一样,只需在末尾添加"/?test=1")
http://www.aaa.com/?location=home (会发现已经有一个?正在使用,并将&test=1添加到末尾)
http://www.aaa.com/?location=home&page=1 (就像上面的那个,会发现已经有一个?)正在使用,并将&test=1添加到末尾)
我很乐意自己写一些东西来做,但是如果python已经可以这样做的话,我非常乐意使用任何内置的功能来节省我的时间;-)
提前感谢
发布于 2011-01-03 20:12:56
使用Lennart Regebro和Adam Vendenberg的建议,您可以这样做:
import urllib
import urlparse
query=urllib.urlencode({"test":1})
urls=['http://www.aaa.com',
'http://www.aaa.com/home',
'http://www.aaa.com/?location=home',
'http://www.aaa.com/?location=home&page=1']
for url in urls:
x=urlparse.urlparse(url)
new_query=(x.query+'&'+query) if x.query else query
y=urlparse.urlunparse((x.scheme,x.netloc,x.path,x.params,new_query,x.fragment))
print(y)收益率
http://www.aaa.com?test=1
http://www.aaa.com/home?test=1
http://www.aaa.com/?location=home&test=1
http://www.aaa.com/?location=home&page=1&test=1发布于 2011-01-03 19:37:04
你可能想要像urllib.urlencode:http://docs.python.org/library/urllib.html#urllib.urlencode这样的东西
发布于 2011-01-03 19:51:04
是的,urlparse库(在Python3中称为urllib.parse )可以帮助您这样做:
http://docs.python.org/library/urlparse.html
特别是url解译和urlun解译方法。
https://stackoverflow.com/questions/4587627
复制相似问题