Python3 (Beautiful Soup + Tkinter)

  • 3 Respuestas
  • 764 Vistas

0 Usuarios y 3 Visitantes están viendo este tema.

Conectado noxonsoftwares

  • *
  • Ex-Staff
  • *****
  • Mensajes: 310
  • Actividad:
    23.33%
  • Country: 00
  • Reputación 7
  • Ayudar es Crecer, Crecer es Mejorar
  • Skype: noxonsoftwares
    • Ver Perfil
    • NOXONSOFTWARES

Python3 (Beautiful Soup + Tkinter)

  • en: Mayo 14, 2020, 03:21:06 am
Buenas gente de UC hace tiempo sin compartir nada, solo mirando desde las sombras....

Resulta que estaba sin PC y bueno pues ahora que ya esta la maquina conmigo para intentar recordar algo pues me puse a programar y aprender sobre web scraping, es algo basico pero para el que no lo conoce creo que le sera de ayuda.

Basicamente lo que hace es conseguir todas las peliculas "Latino Español" en calidad 1080 de la tan conocida pagina EliteTorre......Claro que aun le falta mas retoque y pues pienso agregarle que al descargar directamente habra el torrent, Saludos

aqui una simple captura.



y aqui el codigo:

Código: You are not allowed to view links. Register or Login
import requests
from bs4 import BeautifulSoup
from tkinter import *
from tkinter import messagebox
import tkinter.ttk as ttk
import webbrowser


class gui:

    def contador(self):
        items = len(self.tree.get_children())
        messagebox.showinfo('Titulos', 'Se encuentraron ' + str(items) + ' peliculas')

    def mjs_alerta(self):
        messagebox._show('Aviso', 'Debe seleccionar una pelicula de la lista.',
                         messagebox.INFO)

    def salir(self):
        self.ventana.destroy()

    def abrir(self):
        try:
            item = self.tree.selection()[0]
            lista = self.tree.item(item, 'value')
            webbrowser.open(lista[1])
        except:
            self.mjs_alerta()

    # Abrimos el navegador al hacer doble click sobre el item en la lista
    def OnDoubleClick(self, event):
        item = self.tree.selection()[0]
        lista = self.tree.item(item, 'value')
        webbrowser.open(lista[1])

    def __init__(self, ventana):
        self.ventana = ventana
        ventana.title('Peliculas de elitetorrents')
        ventana.resizable(0, 0)
        ventana.geometry("340x250+365+240")

        messagebox.showinfo('INICIANDO', 'Cargando Titulos de peliculas. Puede que esto tome tiempo dependiendo de su '
                                         'conexion. Por favor sea paciente.')

        self.stilo = ttk.Style()
        # Configuracion del Treeview
        self.stilo.configure("Treeview", foreground='white', background='#660000')
        self.stilo.configure("Treeview.Heading", background='black', foreground='red')
        # Configuración del Boton
        self.stilo.configure("TButton", background='black', foreground='yellow', font='ArialBold')

        # lb_header= ['TITULOS', 'Link']
        lb_header = ['TITULOS']
        self.tree = ttk.Treeview(columns=lb_header, show='headings')
        self.tree.pack(fill=BOTH)

        for col in lb_header:
            self.tree.heading(col, text=col.title())

        for listar in range(1, 68):
            cant = 0 + listar
            url = requests.get(
                'https://www.elitetorrent.nl/idioma/espanol-latino-11/page/' + str(cant) + '/?post_type=peliculas')
            soup = BeautifulSoup(url.content, "lxml")

            for x in soup.find_all('link', {'rel': 'canonical'}):
                print(x['href'])

            for a in soup.find_all('a', {'class': 'nombre'}):
                calidad = a['title'] + " : " + a['href']
                if (calidad.count('1080p') != 0):
                    self.tree.insert("", 0, values=(a['title'], a['href']))

        self.tree.bind("<Double-1>", self.OnDoubleClick)  # Al hacer dos click abre la pelicula

        self.btn = ttk.Button(text='Salir', command=self.salir).pack(side=RIGHT)
        self.bt2 = ttk.Button(text='Descargar', command=self.abrir).pack(side=LEFT)

        self.contador()


if __name__ == '__main__':
    wind = Tk()
    application = gui(wind)
    wind.mainloop()


Conectado Gabriela

  • *
  • Co Admin
  • Mensajes: 943
  • Actividad:
    56.67%
  • Country: 00
  • Reputación 18
    • Ver Perfil
    • Email

Re:Python3 (Beautiful Soup + Tkinter)

  • en: Mayo 14, 2020, 03:24:06 am
Muy interesante tu aporte.
Útil en tiempos de cuarentena a causa del Coronavirus.

Gracias por compartirla con nosotros.

Saludos

Gabriela
« Última modificación: Mayo 14, 2020, 03:25:50 am por Gabriela »

Tú te enamoraste de mi valentía, yo me enamoré de tu oscuridad; tú aprendiste a vencer tus miedos, yo aprendí a no perderme en tu abismo.

Desconectado kuro

  • *
  • Underc0der
  • Mensajes: 10
  • Actividad:
    3.33%
  • Reputación 0
    • Ver Perfil

Re:Python3 (Beautiful Soup + Tkinter)

  • en: Mayo 14, 2020, 10:11:58 am
Gracias por la info.

Yo empecé hace poco también a verlo y me decanté por Selenium, la verdad que para la gestión de páginas webs que cargan usando JS está bastante bien. Te recomiendo echarle un vistazo.

Un saludo!

Conectado noxonsoftwares

  • *
  • Ex-Staff
  • *****
  • Mensajes: 310
  • Actividad:
    23.33%
  • Country: 00
  • Reputación 7
  • Ayudar es Crecer, Crecer es Mejorar
  • Skype: noxonsoftwares
    • Ver Perfil
    • NOXONSOFTWARES

Re:Python3 (Beautiful Soup + Tkinter)

  • en: Mayo 14, 2020, 02:13:42 pm
You are not allowed to view links. Register or Login
Gracias por la info.

Yo empecé hace poco también a verlo y me decanté por Selenium, la verdad que para la gestión de páginas webs que cargan usando JS está bastante bien. Te recomiendo echarle un vistazo.

Un saludo!

Ok, gracias vot a investigar sobre Selenium a ver que hago con eso jejeje.


Saludos

 

como con cx_Freeze exportar tkinter a exe con algunas librerias usadas

Iniciado por royer14

Respuestas: 2
Vistas: 2455
Último mensaje Noviembre 08, 2017, 07:58:37 pm
por royer14
[Python\Tkinter] Consola de comandos Kyurem V2.0

Iniciado por Razel

Respuestas: 0
Vistas: 1905
Último mensaje Agosto 17, 2013, 11:52:08 am
por Razel
[tkinter/Gmail] Email-Sender

Iniciado por Sajuuk

Respuestas: 9
Vistas: 6144
Último mensaje Abril 14, 2017, 03:23:36 pm
por xyz
[Aporte][Python3] pyconio - Interactuar con la consola de forma fácil!

Iniciado por konn

Respuestas: 0
Vistas: 3010
Último mensaje Noviembre 03, 2018, 01:27:03 pm
por konn
[Python3] Interfaces graficas #1 con QT4/5

Iniciado por noxonsoftwares

Respuestas: 3
Vistas: 3140
Último mensaje Noviembre 30, 2017, 04:00:53 am
por Once