我在某些HTML代码中解析了一个链接,如下所示: -
"http://advert.com/go/2/12345/0/http://truelink.com/football/abcde.html?"
我要做的是从第二次出现http开始提取代码的第二部分:所以在上面的例子中,我想提取
"http://truelink.com/football/abcde.html?"
我考虑过将URL切成段但是我不确定随着时间的推移,结构将与第一部分保持一致。
是否有可能识别第二次出现'http'然后从那里解析出代码到底?
答案 0 :(得分:3)
link = "http://advert.com/go/2/12345/0/http://truelink.com/football/abcde.html?"
link[link.rfind("http://"):]
返回:
"http://truelink.com/football/abcde.html?"
这就是我要做的。 rfind
找到" http"的最后一次出现并返回索引。
这个事件显然是你的例子中真实的原始网址。然后,您可以提取以该索引开头的子字符串,直到结束。
因此,如果您有一些字符串myStr
,则在python中使用类似数组的表达式提取子字符串:
myStr[0] # returns the first character
myStr[0:5] # returns the first 5 letters, so that 0 <= characterIndex < 5
myStr[5:] # returns all characters from index 5 to the end of the string
myStr[:5] # is the same like myStr[0:5]
答案 1 :(得分:0)
我会做这样的事情:
addr = "http://advert.com/go/2/12345/0/http://truelink.com/football/abcde.html?"
httpPart = 'http://'
split = addr.split(httpPart)
res = []
for str in split:
if (len(str) > 0):
res.append(httpPart+str);
print res