Парсинг 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