Сокращение ссылок в парсере стримов на 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