在url的中间添加一个字符串
这可能是一个简单的问题,但我无法解决它。在url的中间添加一个字符串
我有一个网址:"www.example.com/links"
。
我想在URL之间添加/skip_session/id=%s/
,使其变成:
www.example.com/skip_session/id=%s/links
可有一个人帮我在这?
我尝试使用
url[23:]+ "/skip_session/id=%s/" + url[:52]
但它给你既然要前缀对URL的路径部分字符串,你可以在Python 2使用urllib.parse
module(urlparse
错误
),首先将网址分为多个部分:
try:
# Python 3
from urllib.parse import urlparse
except ImportError:
# Python 2
from urlparse import urlparse
def insert_path_prefix(url, prefix):
parts = urlparse(url)
updated = parts._replace(path=prefix + parts.path)
return updated.geturl()
url = insert_path_prefix(url, '/skip_session/id=%s')
考虑到这一点,需要t您的网址是否正确形成帽(有,至少,//
开始,最好有像http://
完全成形方案)的分析正确挑选出的主机名:
>>> insert_path_prefix('http://www.example.com/links', '/skip_session/id=%s')
'http://www.example.com/skip_session/id=%s/links'
如果您的网址缺少//
部分在开始时,首先添加一个。
您可以使用字符串替换或字符串rsplit做任务
url_string = "www.example.com/links"
parsed_url = url_string.rsplit("/", 1)
new_url = "/skip_session/id=%s/".join(parsed_url)
或者这样:
url_string = "www.example.com/links"
new_url = url_string.replace("/links", "/skip_session/id=%s/links")
同样,这里假设URL中只有一个这样的斜杠。 –
我的看法是,OP希望在API的最后部分之前添加字符串,而不是作为前置:-)就像有'example.com/a/b/d'并且需要将其转换为示例.com/a/b/c/d' – thiruvenkadam
这远非确定;我已经提示OP向问题添加更多细节。 –
有你自己尝试过什么了吗?你遇到什么问题? –
@theflash我相信错误是索引超出范围,因为url本身,没有额外的字符串,只有20个字符长,而你正在做'url [23:]' – thiruvenkadam
@thiruvenkadam对不起,这只是一个虚拟的例子显示..我使用一些其他的网址,它有23个字符。 –