Сокращение ссылок в парсере стримов на YouTube

Есть бот-парсер, который постит в телеграм-канал новые трансляции с YouTube. Используется youtubesearchpython. Проблема в том, что ссылка получается слишком громоздкой, хочу сделать такого вида (из кнопки share).

Мой код:

def S_in_lists(playlist):
    mas = []
    for i in playlist.videos:
        id = i['id']
        title = i['title']
        accessibility = i['accessibility']['title']
        time = i['duration']
        link = i['link']
        if time == None and not("No views" in accessibility):
            if(not(id in ids_videos) and not(id in back_post_id)):
                ids_videos.append(id)
                mas.append([f"Стрим начался:\n{title}\n{link}", id])

    return mas


def post():
    playlist = Playlist(playlist_from_channel_id(channel_id_youtube))
    try:
        mas = S_in_lists(playlist)
        while playlist.hasMoreVideos:
            playlist.getNextVideos()
            mas += S_in_lists(playlist)
    except:
        pass
    return mas


bot.polling()
        

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

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

Чтобы не искать, где от youtube получить короткую ссылку - её можно создать самому через сервисы по сокращению ссылок.

Пример с ЯндексКликер:

import requests

def shortify_url(long_url):
    response = requests.get('https://clck.ru/--', params={'url': long_url})
    return response.text

url = 'https://ru.stackoverflow.com/questions/1589291/Парсер-стримов-на-youtube'
print(shortify_url(url))
# https://clck.ru/3CGdXs
→ Ссылка