带有查询变量的Python urlparse urljoin

时间:2015-01-23 06:10:02

标签: python

我想加入url1url2

url1 = "https://www.test.com.tw/search?q=AAA"
url2 = "&start=10"

为:

combine =   https://www.test.com.tw/search?q=AAA&start=10

这样我就可以更改url2以获得start = 10,start = 20 ....

它的功能如下:

link ="https://www.test.com.tw/search?q=AAA"
start = 10
def combineurl(link,num):
    url1 = link
    url2 = '&start={start}'.format(start=num)
    global start
    start +=10
    return url1 + url2
print combineurl(link,start)

下次,我会将combineurl(link,start)投放到def combineurl

print combineurl(combineurl(link,start),start)

结果将是:https://www.test.com.tw/search?q=AAA&start=20&start=30
但我需要的是https://www.test.com.tw/search?q=AAA&start=30

我怎么能得到我想要的结果? 谢谢

3 个答案:

答案 0 :(得分:0)

您可以尝试字符串对象的格式化方法:

>>> url1 = "https://www.test.com.tw/search?q=AAA&start={0}"
>>> url2 = url1.format(10)
>>> url2
'https://www.test.com.tw/search?q=AAA&start=10'
>>> url3 = url1.format(20)
>>> url3
'https://www.test.com.tw/search?q=AAA&start=20'

答案 1 :(得分:0)

看起来你只是在寻找字符串连接:

theurl = url1 + url2

这不是'urllib.urljoin'的工作,它更多的是关于正确组合绝对和相对URL。

答案 2 :(得分:0)

这应该按照您在编辑中描述的内容进行操作

def combineurl(link,num):
    link = link.split("&start")[0]
    return link + '&start={0}'.format(num)