Python urlparse urljoin with query variab

2024-04-26 05:21:19 发布

您现在位置: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

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


Tags: httpstestcomsearchdefwwwlinkstart
3条回答

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

>>> 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'

看起来您只是在寻找字符串串联:

theurl = url1 + url2

那不是我的工作`urllib.urljoin,这更像是正确组合绝对和相对URL。你知道吗

这应该和你在编辑中描述的一样

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

相关问题 更多 >

    热门问题