Extraer cualquier información de una página web

activar jquery en cualquier web html¿Te gustaría obtener todos los enlaces o imágenes que aparecen en una página web?

¿Cómo harías para copiar información dispersa en una misma página?

¿Te armarías de paciencia y comenzarías a copiar y pegar cada fragmento de texto que te interesa?

¿Cómo lo harías si tuvieses que copiar el atributo alt de todas las imágenes de una página?

¿Te pondrías a castigar la vista buscando dentro del código html y a copiar los trozos que te interesan procurando no equivocarte mucho y consciente de que es muy probable que se te pase algo?

¿Contratarías a alguien que te hiciese el trabajo duro? 😉

En fin… el otro día necesitaba hacer algo parecido y, como suelo tender a automatizar las tareas “peñazo” me busqué una alternativa que me evitase convertirme en en mono especializado en el copia y pega 😉

jQuery la herramienta perfecta

¿Quién no conoce jQuery a estas alturas de la película?

Todos los que hemos trabajo, de uno u otro modo, en la creación de páginas web hemos terminado utilizándolo (o librería similar) y amándolo.

Su potencia y simplicidad lo convierten en un compañero ideal.

Usar jQuery en cualquier web

¿Te gustaría poder contar con jQuery en cualqueir página web de Internet aunque sus autores no lo hayan incluido entre las librerías javascripts del proyecto?

Gracias a jQuery-injector podrás hacerlo fácilmente con solo

  1. instalarlo
  2. pulsar el icono que aparecerá junto a la barra de direcciones para activarlo. plugin para activar jquery sin bookmarklets
  3. abrir la consola (botón derecho > inspeccionar elemento o Mayús+Ctrl+J)

Ejemplo práctico

Imagina que quieres recuperar todas las imágenes que se utilizan en una web.

Lanzando en la consola un

$("img").each(function(){console.log(this.src)})

será más que suficiente para obtener la información que necesitas

recuperar información de cualquier página web

Conclusión

Nueva herramienta que dejaré en mi caja para cuando vuelva a tener que hacer manualidades con los datos de una página web.

Plugins como éste son un auténtico regalo con el que se acabó el copiar y pegar (siempre y cuando seas capaz de crear el selector adecuado a utilizar en jQuery)

21 comentarios en “Extraer cualquier información de una página web

  1. Julio dijo:

    Buenísimo, no lo conocía, pero un poco duro para el que no sepa programación.

    Con esto me puedo creo que me puedo bajar los dibujos para colorear de una tacada si usar wget.

    Gracias.

  2. Fernando dijo:

    Muy interesante, voy a bajarlo y probarlo en este momento. En mi caso deseo bajar la informacion de un query hecho en esta pagina web: http://www.yellopages.ca

    Es posible luego de hacer una busqueda bajar la informacion como nombre de empresa, telefono, website, etc en forma clasificada para luego importarla a un excel?

    Voy a investigar de todas maneras, pero cualquier informacion que creas que me pueda servir te agradecere.

  3. Jon dijo:

    Hola, a mi tambien me has picado y me gustaria que si puedes me eches un cable, donde me puedo descargar esta maravilla? Voy a la pagina jquery y me descargo lo que creo que es una libreria no? en mi caso la 1.7.2, y luego que hago, para ver el icono ese que señalas?

    Gracias por la informacion, si consigo lo que hago de forma manual, automaticamente, te rezare toda la vida.

    Saludos.

  4. Hola buenas!
    primero decir que está genial, pero me ha entrado la curiosidad de si también se puede ver la información de todo un sitio web, es decir que pueda navegar por las paginas (siguiente) y extraer toda la información.
    Muchas gracias!

  5. Swicher dijo:

    Para hacer esto mismo suelo usar Python y la librería BeautifulSoup, aunque este truco podría serme muy útil en paginas que generan el contenido dinámicamente mediante Javascript o AJAX.
    Para quien tenga curiosidad, a continuación dejo un ejemplo sencillo para extraer el texto que hay dentro de los tags <h2></h2> usando BeautifulSoup:
    from BeautifulSoup import BeautifulSoup as bs

    sopa = bs("<h2>Titulo 1</h2><h2>Titulo 2</h2><h2>Titulo 3</h2>")
    for tag in sopa.findAll("h2"): print "* %s" % tag.string

    El cual devuelve lo siguiente:
    * Titulo 1
    * Titulo 2
    * Titulo 3
    Para obtener el código HTML de una pagina web concreta se puede usar urllib2 o alguna librería especializada.

      • Swicher dijo:

        Ojala, mis casos de uso generalmente se limitan a obtener ciertos elementos que de lo contrario seria muy tedioso de hacer con el típico copiar y pegar, aunque ha habido veces en las que he hecho scripts mas complejos (como cuando me ha tocado buscar que pagina dentro de un listado contiene un enlace o imagen determinada).
        De hecho di con este post mientras revisaba la categoría addons (estoy encontrando cosas muy interesantes ahí, ademas de algunos artículos en los que después pienso dejar un comentario).
        Lo de BeautifulSoup también me pareció interesante comentarlo como una alternativa que puede ser útil en ciertos casos (por ejemplo, si no se tiene acceso a Chrome o Firefox por alguna razón pero hace falta extraer cierta información de una pagina).

  6. camilo dijo:

    hola me podrías ayudar urgente con una encuesta, aunque he intentado no me podido necesito ayuda te agradecería si me ayudas o podrías hacer un video disculpa pero no se nada de programación

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s