Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: 0x5d en 24 Diciembre 2011, 23:22 pm



Título: [Código-PyQT4]Extractor de imágenes - JaAViEr(0x5d)
Publicado por: 0x5d en 24 Diciembre 2011, 23:22 pm
Hola, ¡ tengan muy buen día !

Hace unos días publiqué un par de códigos para extraer imágenes y otro para extraer enlaces, todo esto vía Consola, así que ahora me he animado a pasarlo a un entorno un poco más "Agradable", como lo es el QT4.

Un screenshot del programa:
(http://anycode.s.gp/misubidas/extractor.png)

Ahora no usé QTextBrowser, que usa setHtml, preferí cambiar el panorama y utilizar QListWidget
Sin más preámbulos, el código:
Código
  1. # -*- coding: utf-8 -*-
  2. #Autor : 0x5d - JaAViEr
  3. #Twitter: 0x5d
  4.  
  5. from PyQt4 import QtCore, QtGui
  6. import sys, urllib, re
  7.  
  8. class extractor(QtGui.QWidget):
  9.    def __init__(self, parent=None):
  10.      QtGui.QWidget.__init__(self, parent)
  11.      self.resize(602, 514)
  12.      self.setWindowTitle(QtGui.QApplication.translate("self", "Extractor de imágenes :: JaAViEr (0x5d)", None, QtGui.QApplication.UnicodeUTF8))
  13.      self.label_url = QtGui.QLabel("Url", self)
  14.      self.label_url.setGeometry(10, 15, 21, 16)
  15.      self.input_url = QtGui.QLineEdit(self)
  16.      self.input_url.setGeometry(30, 13, 561, 19)
  17.      self.label_salida = QtGui.QLabel("Salida", self)
  18.      self.label_salida.setGeometry(12, 40, 57, 15)
  19.      self.boton_extraer = QtGui.QPushButton(QtGui.QApplication.translate("self", "Extraer imágenes", None, QtGui.QApplication.UnicodeUTF8), self)
  20.      self.boton_extraer.setGeometry(469, 37, 121, 20)
  21.      self.connect(self.boton_extraer, QtCore.SIGNAL("clicked()"), self.extraer_todo)
  22.      self.listWidget = QtGui.QListWidget(self)
  23.      self.listWidget.setGeometry(QtCore.QRect(5, 60, 591, 441))
  24.  
  25.    def extraer_todo(self):
  26.      url_imagenes = ""
  27.      clear = ""
  28.      i = 0
  29.      self.web = str(self.input_url.text())
  30.      for imagen in re.findall("<img (.*)>",urllib.urlopen(self.web).read()):
  31. if "src" in imagen.lower():
  32.  for imagenes in imagen.split():
  33.    if re.findall("src=(.*)",imagenes):
  34.      clear = imagenes[:-1].replace("src=\"","")
  35.      QtGui.QListWidgetItem(self.listWidget)
  36.      self.listWidget.item(i).setText("%s.- %s"%(i, clear.replace(self.web,"")))
  37.      i+=1
  38.  
  39. app = QtGui.QApplication(sys.argv)
  40. extraer = extractor()
  41. extraer.show()
  42. app.exec_()
  43.  
Espero que sea de su agrado !

Fuente: http://rootcodes.com/pyqt4extraer-imagenes/

Saludos.