Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Once

#241
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
eso es exactamente lo que quiero hacer. falto solo saber si eso puedo hacerlo con mechanize

¿Para qué mechanize si ya tienes la mitad del trabajo hecho (la expresión regular)?
Ya tienes los links de las imágenes gracias a la expresión regular.

La descarga de las imágenes es tan fácil como abrir la imagen del servidor con urllib y esos datos que recibes los guardas en un archivo en modo escritura binaria.

Para cambiar el tamaño de las imágenes, me temo que tienes que buscar alguna libreria externa, que te permita hacer eso.

Saludos!
#242
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Gracias amigo. ahora otra ayudita aqui.
tengo el siguiente codigo
Citar
        regex = '<li><span class="film_info lighten fl">\nGénero</span>(.*?)<\/li>'
        pattern = re.compile(regex, re.I | re.DOTALL | re.MULTILINE)
        temp = You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login(pattern, htmlstring).group(0)
        print temp
me da el siguiente error
Citar
Traceback (most recent call last):
  File "C:\Python27\BotSensaCine.py", line 232, in <module>
    temp = You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login(pattern, htmlstring).group(0)
AttributeError: 'NoneType' object has no attribute 'group'
Gracias de antemano.

Es el mismo error de antes, la expresión regular no encuentra coincidencias así que regresa un objeto None. Simplemente agrega un condicional para verificar si la expresión regular encontro una coincidencia.

Código: python
        regex = '<li><span class="film_info lighten fl">\nGénero</span>(.*?)<\/li>'
        pattern = re.compile(regex, re.I | re.DOTALL | re.MULTILINE)
        temp = re.search(pattern, htmlstring)
        if temp:
                print temp.group(0)


Saludos!
#243
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
como el resto man? todo el bot?..
lo de expresiones regulares esta bien por que al imprimirlo con print no da error. pero al insertarlo en la base de datos me lanza el error.  que sera?

Sólo era necesario todo el bloque try. Pero ahora que tengo el código completo te puedo ayudar mejor.

Primero: El error te dice que la variable director no está definida.
Segundo: La variable director no está definida porque la expresión regular no encuentra coincidencias (no salta el except porque no ocurre un error) así que el for np define la variable director.
Tercero: La solución es un simple condicional:

Código: python

            if temp_var2:
                for director in temp_var2:
                    print "director", director
            else:
                print "No hay director"
                director = "-"


Ahora,como sugerencia: no es necesario que recorras todo el resultado de la expresión regular porque la variable director sólo contendrá el último elemento. Así que puedes usar temp_var2[-1] si quieres el último resultado de la expresión regular.

El segundo error que te dará cuando ejecutes el código corregido será:

Código: python
AttributeError: 'list' object has no attribute 'join'


El problema es que el valor de genero es una lista y el método re.escape() recibe como argumento un string, la solución que puedes implementar si quieres tener en la cadena todos los generos sería poner:

Código: python
genero = ", ".join(genero)


justo despues de la línea:

Código: python
genero = pattern.findall(htmlstring)


Saludos!
#244
¿Puedes poner el resto del código?

Saludos!
#245
Python / Kiki tester de expresiones regulares
Diciembre 18, 2013, 09:26:08 PM

Kiki es un entorno con su interfaz en wxPython que nos permite testear nuestras expresiones regulares. Se le ingresa la expresión regular y el texto al cual se le quiere aplicar la expresión y Kiki nos resalta las coincidencias (si las hay).

Dependencias:


  • wxPython
  • Python 2.7

Kiki se puede descargar desde la web del proyecto You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Para ArchLinux, Kiki se encuentra en los repositorios AUR:

Código: bash
yaourt -S kiki-re


Saludos!
#246
Off Topic / Re:Vota tu navegador favorito!
Diciembre 18, 2013, 05:59:43 PM
Exacto, extensiones, extensiones y extensiones si intentara correr en mi máquina (que es algo vieja) firefox con todas las extensiones para darle las mismas funcionalidades que ya Opera trae integradas por defecto apenas me estaría enterando que es 2013. Incluso con extensiones (que Opera también las tiene y uso varias de ellas) Opera me anda más rápido que firefox pero no tanto como Chromium.

CitarMe parece un problema eso, por ahi abris algo sin private y pensas que es private, mejor ventanas separadas.

He usado Opera desde que tengo ordenador (unos tres/cuatro años) y nunca he tenido ese problema. Las pestañas privadas en Opera tienen un ícono y ese ícono no cambia por el favicon de la página.

Pero igual como dijiste antes, todo son gustos.

Saludos!
#247
Off Topic / Re:Vota tu navegador favorito!
Diciembre 18, 2013, 09:54:33 AM
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Coincido, pero yo voté Firefox porque, bueno, es mucho mejor y lo uso más, con Firefox tenes muchas más posibilidades de personalización. La cuestión es que Opera consume poquísimos recursos, eso es lo que tiene de especial :3 xDDD

Sip, pero en Opera 12.16 (última versión para los sistemas GNU/Linux) tienes un cliente de correo integrado, que, te avisa cuando tienes un mensaje nuevo y tienes toda la bandeja de entrada a un solo click de distancia. (Que para los vagos como yo que no les gusta estar abriendo hotmail y gmail viene de lujo)

También tiene integrado un cliente IRC.

Tienes el historial de las ventanas que has cerrado a tan sólo un click de distancia, sin importar donde estes.

En cuanto a la navegación privada en un híbrido, puedes tener pestañas privadas y normales en la misma ventana (personalmente me encanta esta opción)

El speed dial de Opera es el mejor que he visto, simplemente agregas lo que quieres tener y ya. Nada de las páginas más visitadas ni nada, agregas lo que quieres.

Cuando ves el código fuente de una página, también tienes la opción de modificarl el html.

El inspector de elementos de Opera es el más intuitivo que he visto hasta el momento.

También tienes Opera turbo que comprime las páginas web para que carguen más rápido.

Puedes ver y editar las cookies sin necesidad de instalar extensiones.

Además los gestos del ratón de Opera (You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login) casi me producen un orgasmo la primer vez que los vi y usé

Opera tiene soporte nativo para el protocolo BitTorrent.

Opera tal vez no tenga tantas extensiones como Firefox y Chromium (La única extensión que he usado es HTTP Live Headers) o incluso que tenga problemas con algunos CSS (nada muy molesto), pero, la experiencia de navegación que te da Opera es inigualable.

Saludos!
#248
Off Topic / Re:¿De donde proviene tu nick?
Diciembre 17, 2013, 10:38:49 PM
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Spark = chispa  (  ver o escuchar una chispa, rayo o una fuga de alto voltaje, es algo que me produce un placer casi sexual XD )

Creí que era el único. Poco se compara con ver caer un rayo en un pararrayos.

El mio sólo es una fecha. El resultado de mi corta imaginación e intentarme registrar en mi primer foro un 11 de Septiembre

Saludos!
#249
Off Topic / Re:Vota tu navegador favorito!
Diciembre 17, 2013, 10:33:48 PM
Yo soy ese solitario 4.2% que votó por Opera. Amo Opera

Saludos!
#250
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Enviado :D (Al fin funciona el foro xD)

Idem

Saludos!
#251
¡Enviado!

Por favor, si alguno de los jurados tiene algún problema que me lo haga saber.

Saludos!
#252
Dudas y pedidos generales / Re:Manual obsoleto?
Diciembre 06, 2013, 11:39:02 AM
Hola,

El manual debería estar vigente (almenos en su mayoría) hasta la versión 2.7. Para las versiones 3.* no te va a servir, sin embargo ahora muchos libros para éstas versiones de Python, sin ir muy lejor puedes echarle un vistazo a este post: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Saludos!
#253
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
CitarEn ese caso tendría que guardar la dirección del la web en una variable y con otra expresión regular sacas los href y luego concatenas la dirección de la web con el href

ok hermano pero tienes un ejemplo para entender mejor? gracias de antemano.

Código: python
# -*- coding: utf-8 -*-

import re
import urllib

text = urllib.urlopen("http://www.sensacine.com/peliculas/en-cartelera/cines/").read()
expresion = re.compile("(<h2.+?</h2>)", re.DOTALL)
data = expresion.findall(text)

for u in data:
    print "sasasa.com" + re.findall('<a.*?href="(.*?)".*?>', u)[0]


Saludos!
#254
Python / inRar.py buscador de archivos rar en imágenes
Noviembre 30, 2013, 10:43:27 PM

(You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login)

Hola, creo que todos conocemos el método esteganográfico EOF que consiste básicamente en agregar un archivo al final de otro; como por ejemplo incrustar un comprimido .rar dentro de una imagen sin corromper ésta. (En GNU/Linux es tan simple como un cat archivo1 archivo2 > archivo_final)

Hace un tiempo hice uso de este método y ahora me doy cuenta que tengo más de 700 imágenes y sería algo aburrido buscar la información a mano así que codee este pequeño script. Espero a alguien le sea de ayuda.

Su funcionamiento es simple, se abre el archivo en forma de lectura binaria, se convierten estos datos a hexadecimal y con una expresión regular busca las cabeceras del Rar. si las encuentra, copia esa información y la guarda en un archivo independiente.

Código: python

#!/usr/bin/python2
# -*- coding: utf-8 -*-
# 11Sep para underc0de.org


import os
import re
import sys
import urllib

rar_ = re.compile(".*?(52617221.*C43D7B00400700).*?", re.DOTALL | re.IGNORECASE)

def abrir_archivo(ruta):
    print "Comprobando archivo:", ruta
    if ruta.lower().endswith(".rar"):
        return
    with open(ruta, "rb") as archivo:
        data = archivo.read()
        data  = data.encode("hex")
    comprobar_rar(data, ruta)

def abrir_url(url):
    print "Abriendo url"
    data = urllib.urlopen(url).read()
    data = data.encode("hex")
    archivo = os.path.basename(url)
    comprobar_rar(data, archivo)

def comprobar_rar(data, nombre):       
    nombre += ".rar"
    if rar_.match(data):
        print "\t[+] Hay un rar dentro"
        print "\t[+] Guardando en:", nombre
        with open(nombre, "wb") as archivo:
            archivo.write(rar_.findall(data)[0].decode("hex"))   

def comprobar_ruta(ruta):
    if os.path.isfile(ruta):
        abrir_archivo(ruta)
    elif os.path.isdir(ruta):
        for archivo in os.listdir(ruta):
            nuevo = os.path.join(ruta, archivo)
            if os.path.isfile(nuevo):
                abrir_archivo(nuevo)
    elif ruta.startswith("http://"):
        abrir_url(ruta)

if len(sys.argv) > 1:
    comprobar_ruta(sys.argv[1])
else:
    print "Uso: inRar.py <archivo | carpeta | url>"


Su uso es simple, se le puede pasar como parametro una url, un archivo o un directorio, la aplicación, dependiendo del parametro ejecuta la función adecuada.
Por ejemplo, podemos revisar la url de la imagen del comienzo del post

Saludos!
#255
Wargames y retos / Re:[Reto] Encuentra el código.
Noviembre 30, 2013, 05:32:28 PM

Buen reto brother.

Saludos!
#256
Wargames y retos / Re:[Reto] Encuentra el código.
Noviembre 30, 2013, 03:56:32 AM
Tengo el código pero la url no me anda, me tira un 404. ¿Está bien o voy mal?

Saludos!
#257
Off Topic / Re:MI primer impresion en 3D
Noviembre 28, 2013, 06:21:03 PM
Sorprendente bro. Felicidades!

Saludos!
#258
Off Topic / Re:¿Te gusta el gaming? ¿Eres competitivo?
Noviembre 27, 2013, 11:26:27 PM
Yo soy de los de:
Urban Terror
0ad
Warzone 2100

Saludos!
#259
En ese caso tendría que guardar la dirección del la web en una variable y con otra expresión regular sacas los href y luego concatenas la dirección de la web con el href

Saludos!
#260
Hola, tengo otra duda: No estoy muy familiarizado con el IRC y menos con los bots.

¿Cuáles son las opciones que poseen los bots regulares? En google se encuentran cientos de bots y todos con opciones distintas

Saludos!