Парсинг url из строки без помощи регулярных выражений

text = " Часы 140 руб.http://alli.pub/6e9qt1 Сланцы 268 руб. http://alli.pub/6e9qus Комплект 95 руб. http://alli.pub/6e9p0h WS-наушники Baseus W3 - 1 292 руб. http://alli.pub/6e9t76 "

link = (re.findall(r'https?://\S+', text))

for li in link:

page = requests.get(f'https://api.vk.com/method/utils.getShortLink?&v=5.131&url={li}&access_token={token}')

js_resp = page.json()

if js_resp.get('response'):
response = js_resp['response']['short_url']
text = text.replace(li, response)
print(text) 

Ответы (1 шт):

Автор решения: CrazyElf

Например так, хотя я не понимаю, зачем городить костыли:

text = " Часы 140 руб.http://alli.pub/6e9qt1 Сланцы 268 руб. http://alli.pub/6e9qus Комплект 95 руб. http://alli.pub/6e9p0h WS-наушники Baseus W3 - 1 292 руб. http://alli.pub/6e9t76 "

for li in text.split():
    idx = li.find('http:')
    if idx >= 0:
        link = li[idx:]
        print(link)

Вывод:

http://alli.pub/6e9qt1
http://alli.pub/6e9qus
http://alli.pub/6e9p0h
http://alli.pub/6e9t76
→ Ссылка