获取老师给的字符串中的链接:
1.先引入字符串
# coding=utf-8
string = '<div class="item-list ni-list"><ul><li class="first"><a href="http://www.tepintehui.com/detail/57185?ce" title="明星同款| 钟基欧巴穿的小脏鞋5折辣!" ><span>明星同款| 钟基欧巴穿的小脏鞋5折辣!</span></a></li><li><a href="http://www.tepintehui.com/detail/56847?ce" title="装逼| 你们见过凌晨四点钟的洛杉矶吗?" ><span>装逼| 你们见过凌晨四点钟的洛杉矶吗?</span></a></li><li ><a href="http://www.tepintehui.com/detail/57127?ce" title="反人类| 世界上最干净的纸竟然是黄色的!" ><span>反人类| 世界上最干净的纸竟然是黄色的</span></a></li><li><a href="http://www.tepintehui.com/detail/57120?ce" title="科普| 吃了避孕药之后怀的孩子能要吗?" ><span>科普| 吃了避孕药之后怀的孩子能要吗?</span></a></li><li><a href="http://www.tepintehui.com/detail/57125?ce" title="真假| 9年义务升为12年制,是要取消高考吗" ><span>真假| 9年义务升为12年制,是要取消高考吗</span></a></li><li><a href="http://www.tepintehui.com/detail/57124?ce" title="土豪| 揭秘迪士尼见不得光的33号俱乐部" ><span>土豪| 揭秘迪士尼见不得光的33号俱乐部</span></a></li><li ><a href="http://www.tepintehui.com/detail/41008?ce" title="吐槽| 男人单身太久会没感觉?" ><span>吐槽| 男人单身太久会没感觉?</span></a></li><li ><a href="http://www.tepintehui.com/detail/23488?ce" title="冷知识| 为什么镜子是左右颠倒不是上下呢" ><span>冷知识| 为什么镜子是左右颠倒不是上下呢</span></a></li><li ><a href="http://www.tepintehui.com/detail/37213?ce" title="新玩法| 这年头情侣之间种草莓已经out了!" ><span>新玩法| 这年头情侣之间种草莓已经out了!</span></a></li><li ><a href="http://www.tepintehui.com/detail/11411?ce" title="四壁| 老美说凤姐把范冰冰秒成渣,你怎么看" ><span>四壁| 老美说凤姐把范冰冰秒成渣,你怎么看</span></a></li><li ><a href="http://www.tepintehui.com/detail/37456?ce" title="凭什么| 个人挖墓是盗墓,国家挖是考古?" ><span>凭什么| 个人挖墓是盗墓,国家挖是考古?</span></a></li><li ><a href="http://www.tepintehui.com/detail/40706?ce" title="福利| 要知道加这个群这么爽!我早进了" ><span>福利| 要知道加这个群这么爽!我早进了</span></a></li></ul></div>'
# 定义两个变量:分别表示开始的字符串、结束的字符串
start_string = 'http'
end_string = '?ce'
查找第一个链接:使用find()函数
# 使用find函数查找开始截取的位置
start = string.find('http')
print(start)
# 找到结束截取的位置
end = string.find('?ce')
print(end)
# 找到了第一个
sub_str = string[start:end+len('?ce')]
print(sub_str)
查找第二个链接:第一个链接结束的位置,是第二个链接开始的位置#找到第二个 开始位置
sec_start = string.find('http', end)
print(sec_start)
# 找到第二个结束位置
sec_end = string.find('?ce', sec_start)
print(sec_end)
# 截取第二个字符串
sec_str = string[sec_start:sec_end+len('?ce')]
print(sec_str)
查找第三个链接:第二个链接结束的位置,是第三个链接开始的位置# 找到第三个位置,开始截取的位置
three_start = string.find('http', sec_end)
# 找到第三个 结束截取位置
three_end = string.find('?ce', three_start)
# 截取第三个字符串
three_str = string[three_start:three_end+len('?ce')]
print(three_str)
以上代码可以用一个while循环完成(不知道要循环多少次,所有用while而不用for循环)
# 先找第一个开始的位置,如果没有找到 返回的是-1
start = string.find(start_string)
# 只要start不等于-1,说明找到了http
# 不知道循环多少次,所有用while不用for
while start!=-1:
#找结束的位置
end = string.find(end_string,start)
#截取字符串 结束位置=结束字符串的开始位置+结束字符串的长度
sub_str = string[start:end+len(end_string)]
print(sub_str)
#找到下一个开始的位置
#如果没有找到下一个开始的位置,相当于写了一句 start=-1,while循环条件不成立,结束循环
start = string.find(start_string, end)