elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Descargar una página web en formato .html usando la programación
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Descargar una página web en formato .html usando la programación  (Leído 2,964 veces)
AdriánT95

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Descargar una página web en formato .html usando la programación
« en: 3 Julio 2018, 10:20 am »

Hola a tod@s!

Necesito hacer web scraping a varias páginas web, pero debido a las limitaciones que tengo, me gustaría saber si hay algún modo descargar páginas web en formato .html usando algún lenguaje de programación (para que sea automático y no descargar cada una usando el Chrome).

Con limitaciones me refiero a que, no me deja hacer Web Scraping de un campo de texto debido a que la página tiene un tiempo de espera de unos 6 segundos aproximadamente, entonces, no me deja acceder a dicho valor con Web Scraping ya que lo estoy tratando de recuperar al instante y aún no existe (la página está prácticamente vacía cuando está cargando - lo único que aparece es un mensaje diciendo que está buscando las mejores ofertas y así durante unos 6 segundos hasta que aparece lo que yo quiero recuperar en PHP). Entonces, había pensado que la mejor solución sería descargando las páginas en formato .html y así podría acceder a dicho valor, lo único que, si lo hago así, también me podría encontrar con el mismo problema ya que si el valor que yo quiero recuperar, tarda unos 6 segundos en existir, necesitaría que primero cargue la página internamente durante unos segundos y después ya descargar el .html

La verdad es que estoy algo perdido y no sé cuál sería la mejor forma de poder hacer eso. Mi objetivo es muy simple: Poder recuperar precios de varias páginas web sobre hoteles para hacer un comparador de precios (lo haría con cualquier lenguaje de programación web, ya sea PHP/javascript/HTML), pero me encuentro con esos problemas que aún no sé cómo solventarlos  :-\

¿Alguien me podría echar una mano?

Gracias de antemano!


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Descargar una página web en formato .html usando la programación
« Respuesta #1 en: 3 Julio 2018, 10:58 am »

lo primero es aprender a programar web para que entiendas como funciona php y las paginas web, sin eso el scrapper será un inferno...

un ejemplo por lo que veo que no tienes dicho conocimiento es que no tienes que esperar valores ni nada, en tal caso buscas el ajax que obtiene ese valor y sacas directamente la información que te eimporta sin necesidad del resto de la pagina


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
AdriánT95

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Re: Descargar una página web en formato .html usando la programación
« Respuesta #2 en: 3 Julio 2018, 12:56 pm »

Pues sí, la verdad es que es la primera vez que hago Web Scraping, por lo que vi un tutorial en Youtube y para hacerlo utilizo el "simple_html_dom" para PHP, aunque ya había hecho cosas con PHP anteriormente.

Sobre lo que dices del Ajax, no es otro lenguaje? Que debería hacer con eso? Hay algún manual/tutorial para aprender a utilizarlo para poder hacer Web Scraping?
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Descargar una página web en formato .html usando la programación
« Respuesta #3 en: 3 Julio 2018, 16:29 pm »

ajax no es un lenguaje es como se llama la tecnica de carga asincrona con js a algún servidor

sin tener conocimiento solido de web, es esencial para hacer scrapping, ya que tendrás que entender que hizo el autor de la web

En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
AdriánT95

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Re: Descargar una página web en formato .html usando la programación
« Respuesta #4 en: 4 Julio 2018, 09:55 am »

Pff, pues me temo que esto va a ser muy muy complicado de lograrlo ya que tengo hacer Web Scraping a muchas páginas web, no sólo a una. Si fuera sólo una, me atrevería a intentarlo pero cómo dijiste, será un infierno si son muchas.

Entonces, no creo que Web Scraping sea muy viable para lo que yo quiero hacer, ¿se te ocurre algún otro modo? Es que, podría copiar los precios manualmente de cada hotel al código PHP y haría operaciones con ellos si hiciera falta, pero... ¿Y si cambian? Obviamente no estaría cada vez comprobando si han cambiado o no, si almenos hubiera alguna forma de que me avisara cada vez que cambien en su página web, ya me bastaría.

A parte, ahora que lo pienso: Web Scraping tiene un problema y es que si cambia la estructura de una web, entonces el código que yo escribí para hacer Web Scraping a dicha web no funcionaría y tendría que rescribirlo.

La verdad es que ya intenté buscar alguna API sobre los hoteles en España, sería lo más óptimo para lo que yo quiero hacer, pero no encontré ninguno por la red  :-\
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: Descargar una página web en formato .html usando la programación
« Respuesta #5 en: 4 Julio 2018, 11:29 am »

Pues sí, la verdad es que es la primera vez que hago Web Scraping, por lo que vi un tutorial en Youtube y para hacerlo utilizo el "simple_html_dom" para PHP, aunque ya había hecho cosas con PHP anteriormente.

Pff, pues me temo que esto va a ser muy muy complicado de lograrlo ya que tengo hacer Web Scraping a muchas páginas web, no sólo a una. Si fuera sólo una, me atrevería a intentarlo pero cómo dijiste, será un infierno si son muchas.

Es por eso que existen librerías de terceros que te hacen todo el trabajo sucio para personas con escasos conocimientos en "X" materias, pero claro, depende del lenguaje que estés utilizando, en la plataforma .NET Framework por ejemplo una librería que te ayudaría mucho sería aBot (además es open-source), entre varias otras. Aparte de eso también existe software para el webscrapping, como por ejemplo WebHarvy por nombrar alguno...

Obviamente tener conocimientos te facilitaría mucho el data parsing o análisis de datos de la web que sea, pero tampoco es un motivo para pensar "no puedo hacerlo sin conocimientos", ya que si no sabes hacerlo mediante un lenguaje de programación, como alternativa siempre puedes recurrir a software de web-scrapping (como el ya mencionado WebHarvy) con documentación y tutoriales y etc...

Web Scraping tiene un problema y es que si cambia la estructura de una web, entonces el código que yo escribí para hacer Web Scraping a dicha web no funcionaría y tendría que rescribirlo.

Bueno, todo el resto del mundo tiene que lidiar con ese problema: manutención de código, es algo que debes asumir, pero la estructura de una página web no tiene por que cambiar muchas veces a corto plazo, quizás durante un año entero no haya cambios, y de haberlos tampoco debes asumir que los cambios realizados en el diseño de la página o en lo que sea vayan a afectar al análisis de los datos que quieras obtener, a veces no ocurre esa "tragedia". Por si te sirve de ánimos, yo llevo manteniendo varios web-crawlers durante años y las veces que he tenido que adaptar/actualizar los algoritmos por culpa de cambios críticos en la estructura de sus webs se cuentan con los dedos de una mano...

La verdad es que ya intenté buscar alguna API sobre los hoteles en España, sería lo más óptimo para lo que yo quiero hacer, pero no encontré ninguno por la red  :-\

En los primeros resultados de Google se lista un artículo con 110 APIs...


Viendolo solo un poco y por encima, algunas APIs son para servicios de hoteles muy específicos, pero alguna habrá que te deba servir, todo es ponerse a leer las descripciones de cada API una por una a ver para que sirve, supongo que alguna servirá para realizar consultas de precios de hoteles dentro de una base de datos que contenga hoteles de España, claro que dudo mucho que un servicio así vaya a ser gratuito...

Saludos
« Última modificación: 4 Julio 2018, 11:42 am por Eleкtro » En línea

AdriánT95

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Re: Descargar una página web en formato .html usando la programación
« Respuesta #6 en: 5 Julio 2018, 12:56 pm »

Citar
Es por eso que existen librerías de terceros que te hacen todo el trabajo sucio para personas con escasos conocimientos en "X" materias, pero claro, depende del lenguaje que estés utilizando, en la plataforma .NET Framework por ejemplo una librería que te ayudaría mucho sería aBot (además es open-source), entre varias otras. Aparte de eso también existe software para el webscrapping, como por ejemplo WebHarvy por nombrar alguno...

Bueno, en principio el lenguaje que me interesa es PHP/javascript ya que tengo que hacer una aplicación web... Entonces no sé si me serviría la librería aBot. Pero el "simple_html_dom" es una librería para PHP? Sobre el software de WebScrapping, ya lo probé, pero me interesa que sea automático ya que esa aplicación que quiero hacer, se la tiene que quedar una empresa y obviamente no les voy a pedir que abran cada vez el programa para que se actualizen los precios, es por eso que prefiero hacerlo con programación, para que salgan los precios actualizados cada vez que se abra mi aplicación.

Citar
Obviamente tener conocimientos te facilitaría mucho el data parsing o análisis de datos de la web que sea, pero tampoco es un motivo para pensar "no puedo hacerlo sin conocimientos", ya que si no sabes hacerlo mediante un lenguaje de programación, como alternativa siempre puedes recurrir a software de web-scrapping (como el ya mencionado WebHarvy) con documentación y tutoriales y etc...
Eso es lo que me interesa, pero mi pregunta es: ¿Cómo puedo adquirir esos conocimientos? ¿Hay algún manual o algo en internet para poder aprenderlo? No me importa si está en inglés ya que tengo un nivel de inglés lo suficientemente alto, así que si sabes de alguna página o recurso para poder aprenderlo y me lo pudieras pasar, te lo agradecería! Cómo dije anteriormente, tengo conceptos de PHP, sólo que ahora necesito aprender a hacer Web Scraping.

Citar
En los primeros resultados de Google se lista un artículo con 110 APIs...

https://www.programmableweb.com/category/hotels/api

Viendolo solo un poco y por encima, algunas APIs son para servicios de hoteles muy específicos, pero alguna habrá que te deba servir, todo es ponerse a leer las descripciones de cada API una por una a ver para que sirve, supongo que alguna servirá para realizar consultas de precios de hoteles dentro de una base de datos que contenga hoteles de España, claro que dudo mucho que un servicio así vaya a ser gratuito...
Gracias!  :) eso no lo encontré, es que creo que lo intenté buscar en español... Bueno, veré si salen los hoteles que me interesan en esas API's, aunque si hay que pagar, casi que prefiero hacer Web Scraping.

Saludos
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Mail con formato HTML (Source)
Programación Visual Basic
LeandroA 4 2,383 Último mensaje 5 Septiembre 2008, 15:24 pm
por ssccaann43 ©
Se populariza el spam en formato HTML
Noticias
wolfbcn 0 1,144 Último mensaje 6 Octubre 2010, 15:27 pm
por wolfbcn
enviar correo con formato html en asp.net
.NET (C#, VB.NET, ASP)
almita 3 6,657 Último mensaje 7 Diciembre 2010, 20:48 pm
por [D4N93R]
Escribir un formulario html en una pagina html
Desarrollo Web
adriancarcamo 1 3,043 Último mensaje 21 Febrero 2012, 18:38 pm
por Spider-Net
enviar correo con formato html
PHP
binario010101 8 3,651 Último mensaje 25 Febrero 2013, 22:07 pm
por binario010101
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines