Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Señor X en 20 Noviembre 2014, 17:53 pm



Título: [APORTE]Web-crawler Python
Publicado por: Señor X en 20 Noviembre 2014, 17:53 pm
hola a todos!! ante todo disculpas por el título porque no se si en si mismo el aporte es un web-crawler  :silbar:. Se trata de una función en la que utilizo la libreria urllib2 que viene perfecta para sacar contenido de una url. He buscado el nombre de la libreria y no aparecia nada en el foro así que he pensado que a alguien le puede interesar el extraer la información de una página html. Debo decir que los servidores bloquean a la misma ip en cuanto te pasas ejecutandolo y también debo decir que no me hago responsable de la modificacion para cuestiones ilicitas, y espero que postearlo tampoco lo sea  :-X

Código:
import urllib2
def funcion():
    url = "http://www..html"
    request = urllib2.Request(url)
    handle = urllib2.urlopen(request)
    content = handle.read()
    splitted_page = content.split("<table width=\"95%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" class=\"x\">", 1);
    splitted_page = splitted_page[1].split("<td colspan=\"1\" align=\"right\" bgcolor=\"#FFFFCC\" class=\"x\">")
    escribe = open('x.html', 'w')
    escribe.write('<html><head><meta http-equiv="Content-type" content="text/html;charset=ISO-8859-1" /><link rel="stylesheet" href="estilos.css" type="text/css" media="all"></head><body><div id="contenido"><table>')
    escribe.close()
    f = open("x.html", "a")
    f.write(splitted_page[0])
    f.close()
    f = open("x.html", "a")
    f.write('</table></div></body></html>')
    f.close()
función()

Primero importo la libreria y lee la url que suministramos y despues busca el patrón que le suministramos a un array que es splitted_page (en este caso busca la tabla con clase x). Luego lo meto todo en otro archivo html creando un nuevo documento html formateado diferente. Agradezco sugerencias. Un saludo a todos!