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()


