Estoy armando un bot de telegram donde el usuario publica un link del sitio web freepik y el bot le devuelve el archivo de descarga.
EJEMPLO DEL LINK DE FREEPIK:*https://www.freepik.com/free-psd/ufo-icon-isolated-3d-render-illustration_29110485.htm
Una vez publicado el link en telegram el bot no encuentra el link de descarga. Por lo que sospecho que la clase o el atributo del enlace de freepik no es correcto.
Dejo el código:
Código:
Desde ya muchas gracias! from telegram.ext import Updater, MessageHandler, Filters import requests from bs4 import BeautifulSoup def freepik_link(update, context): * * url = update.message.text * * page = requests.get(url) * * soup = BeautifulSoup(page.content, 'html.parser') * * download_link = soup.find('a', {'class': 'download-btn'}) * * print(download_link) * * if download_link: * * * * print(download_link['href']) * * * * update.message.reply_text(download_link['href']) * * else: * * * * update.message.reply_text("No se encontró el enlace de descarga.") def start(update, context): * * update.message.reply_text("¡Hola! Este bot puede obtener enlaces de descarga directa de Freepik. Solo envía un enlace de Freepik y te enviaré el enlace de descarga directa.") def main(): * * updater = Updater(token='TOKEN(no lo pongo acá por seguridad)', use_context=True) * * dp = updater.dispatcher * * dp.add_handler(MessageHandler(Filters.regex(r'https?://(www\.)?freepik\.com/.*'), freepik_link)) * * dp.add_handler(MessageHandler(Filters.command, start)) * * updater.start_polling() * * print("El bot se está ejecutando.") * * updater.idle() if __name__ == '__main__': * * main()