Test Foro de elhacker.net SMF 2.1

Programación => Scripting => Mensaje iniciado por: Debci en 1 Mayo 2010, 23:11 PM

Título: [Python]Ir añadiendo elementos a una tabla
Publicado por: Debci en 1 Mayo 2010, 23:11 PM
Hola a todos, he codeado algo en python que me va mostrando resultados de una busqueda, lo que quiera hacer es ir añadiendo dichos elementos a una lista, luego recorrerla y mostrarla.

El problema es que no se como añadirlos por indice.
Comentar que vengo de java y tengo un nivel alto de programacion pero python he programado sin leer ni una puñetera referencia.

Saludos
Título: Re: [Python]Ir añadiendo elementos a una tabla
Publicado por: leogtz en 1 Mayo 2010, 23:18 PM
Código (python) [Seleccionar]
#!/usr/bin/python
lista = [1, 2, 3, 4, 5]
lista.insert(0, 123)
print lista
lista.insert( 5, 123)
print lista
for i in range(len(lista)):
print lista[i]
Título: Re: [Python]Ir añadiendo elementos a una tabla
Publicado por: Debci en 1 Mayo 2010, 23:29 PM
Y como puedo declarar la lista como inicialmente vacia?

Saludos
Título: Re: [Python]Ir añadiendo elementos a una tabla
Publicado por: leogtz en 1 Mayo 2010, 23:55 PM
lista = []
Título: Re: [Python]Ir añadiendo elementos a una tabla
Publicado por: Debci en 2 Mayo 2010, 00:07 AM
He llegado a esa misma conclusion, pero por algun motivo mi programa no funciona, haber si ven que error estoy cometiendo:

Código (python) [Seleccionar]

#!/usr/bin/env python
# http://www.delincuentedigital.com.ar/
# Editado por Debci
import urllib
import re
import os
os.system('clear')
sitio = "http://www.milw0rm.com/search.php?dong="
dong = (raw_input('[!]Busqueda:\n'))
descarga = (raw_input('[!]Desea descargar todos los exploits que encuentre? (Si o No)\n'))
source = urllib.urlopen(sitio+dong).read()
founds = re.findall("href=\"/exploits/\d+",source)
encontrados = len(founds)
corredor = 0
lista = []

if encontrados == 1:
print "\n[+]Su busqueda devolvio",encontrados,"resultado\n"
elif encontrados == 0:
        print "\n[-]No se ha encontrado ningun resultado\n"
else:
print "\n[+]Su busqueda devolvio",encontrados,"resultados\n"
if len(founds) >=1:
for found in founds:
  found = found.replace("href=\"","")
 
  print "http://www.milw0rm.com"+found
  enlace = "http://www.milw0rm.com"+found
  lista.insert(corredor, enlace)
  corredor+=corredor
       
if descarga == "si" or descarga == "Si" or descarga == "SI":
        for i in len(lista):
os.system("wget",lista[i])


El programa busca exploits en milworm y opcionalmente los descarga.

Saludos
Título: Re: [Python]Ir añadiendo elementos a una tabla
Publicado por: ^Tifa^ en 2 Mayo 2010, 00:22 AM
Arregla el ultimo IF por lo siguiente:

Código (python) [Seleccionar]


if descarga == "si" or descarga == "Si" or descarga == "SI":
        for i in range(len(lista)):
  os.system("wget "+lista[i])

Título: Re: [Python]Ir añadiendo elementos a una tabla
Publicado por: Debci en 2 Mayo 2010, 00:30 AM
Pero que tiene mi code para no arrancar?
Arroja un bonito:
Citar
root@bt:~/Desarrollo/Python# ./BuscadorExploits.py
  File "./BuscadorExploits.py", line 35
    print "Hola"
        ^
IndentationError: expected an indented block


Saludos

Título: Re: [Python]Ir añadiendo elementos a una tabla
Publicado por: ^Tifa^ en 2 Mayo 2010, 00:33 AM
Acabo de probar tu codigo con el ultimo arreglo que te especifique... y funciona.

Ahora, ten en cuenta que Python es un interprete obsesivo con las Tabulaciones en el codigo  ;)  tienes que Tabular las expresiones que vayas haciendo... de lo contrario se queja como te esta diciendo, toma tu codigo nuevamente pero arreglada la ultima condicion:

Código (python) [Seleccionar]


import urllib
import re
import os
os.system('clear')
sitio = "http://www.milw0rm.com/search.php?dong="
dong = (raw_input('[!]Busqueda:\n'))
descarga = (raw_input('[!]Desea descargar todos los exploits que encuentre? (Si o No)\n'))
source = urllib.urlopen(sitio+dong).read()
founds = re.findall("href=\"/exploits/\d+",source)
encontrados = len(founds)
corredor = 0
lista = []

if encontrados == 1:
        print "\n[+]Su busqueda devolvio",encontrados,"resultado\n"
elif encontrados == 0:
        print "\n[-]No se ha encontrado ningun resultado\n"
else:
        print "\n[+]Su busqueda devolvio",encontrados,"resultados\n"
if len(founds) >=1:
        for found in founds:
                  found = found.replace("href=\"","")

                  print "http://www.milw0rm.com"+found
                  enlace = "http://www.milw0rm.com"+found
                  lista.insert(corredor, enlace)
                  corredor+=corredor

if descarga == "si" or descarga == "Si" or descarga == "SI":
        for i in range(len(lista)):
  os.system("wget "+lista[i])

Título: Re: [Python]Ir añadiendo elementos a una tabla
Publicado por: Novlucker en 2 Mayo 2010, 00:38 AM
Como te dice Tifa, la última línea de código no la tienes indentada, así que cuando busca la variable "i" la busca fuera del for, y afuera no existe :P

Saludos
Título: Re: [Python]Ir añadiendo elementos a una tabla
Publicado por: Debci en 2 Mayo 2010, 00:50 AM
y como delimito los limites de los bucles y tal?
Tabulacion?
Es que como no hay llaves ni nada por el estilo...

Saludos y gracias a todos
Título: Re: [Python]Ir añadiendo elementos a una tabla
Publicado por: leogtz en 2 Mayo 2010, 00:53 AM
for ...:
for ...:
Codigo
Más codigo en el for más interno
Código en el for externo
Codigo fuera del los ciclos