Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Como monitorear cambios en un sitio web externo (https://www.clubdelphi.com/foros/showthread.php?t=94924)

JoAnCa 31-10-2020 16:05:54

Como monitorear cambios en un sitio web externo
 
Hola a todos
Pues necesito saber como puedo recibir una alerta cuando un sitio web tenga cambios

El objetivo es recibir una alerta cuando una tienda virtual oferte nuevos productos, y de ser posible subir el producto al carrito de compras

El problema esta dado porque los productos se agotan muy rápido, y a veces la pagina se congestiona y no me da tiempo subir el producto al carrito, y a veces ni puedo ver las ofertas.

Para acceder a la pagina de compras hay que autenticarse con un usuario registrado, usuario, contraseña y captcha

He visto algunas herramientas en la web, pero no me sirven, pues algunas notifican por email (lo necesito en tiempo real al momento), y otras revisan cada 5 minutos o mas (necesito que se mas frecuente)

Alguna idea de como hacerlo?

Casimiro Notevi 31-10-2020 20:02:17

¿Y esa web externa es tuya y puedes hacer cambios allí?

JoAnCa 01-11-2020 16:23:32

Cita:

Empezado por Casimiro Notevi (Mensaje 538919)
¿Y esa web externa es tuya y puedes hacer cambios allí?


No, no es mía. Es una tienda virtual de una empresa que se dedica a la venta de productos de aseo y alimentos.


Hacer web scraping no siempre es ilegal, incluso google lo hace.
Y con el objetivo que yo lo quiero hacer no afecta en nada a la tienda virtual, pues solo estaré revisando si hay un nuevo producto y comprarlo

Casimiro Notevi 01-11-2020 16:51:31

Lo pregunto por si puedes acceder al software de la web y que te envíe la información que quieres.
¿Has comprobado si tienen alguna opción de avisos a los usuarios?

JoAnCa 01-11-2020 18:46:28

Cita:

Empezado por Casimiro Notevi (Mensaje 538923)
Lo pregunto por si puedes acceder al software de la web y que te envíe la información que quieres.
¿Has comprobado si tienen alguna opción de avisos a los usuarios?


Pues no tiene ninguna opción de aviso, ni tampoco ninguna API para conectar mi aplicación



Asi que la unica opcion que veo, es conectarse y verificar la informacion

Neftali [Germán.Estévez] 02-11-2020 09:23:49

Cita:

Empezado por JoAnCa (Mensaje 538932)
Pues no tiene ninguna opción de aviso, ni tampoco ninguna API para conectar mi aplicación


Si no tiene API ni nada que se le parezca para poder interrogarla, tendrás que acceder y parsear los datos que necesites.

Hace poco hablamos de algo parecido aquí.
Tal vez las soluciones que se proponen te puedan dar alguina idea.

Ñuño Martínez 02-11-2020 11:13:09

¿Has mirado a ver si tiene fuente RSS? Y si no la tiene, pues pide que la pongan, que tampoco cuesta nada.

JoAnCa 02-11-2020 16:14:53

Cita:

Empezado por Neftali [Germán.Estévez] (Mensaje 538936)
Si no tiene API ni nada que se le parezca para poder interrogarla, tendrás que acceder y parsear los datos que necesites.

Hace poco hablamos de algo parecido aquí.
Tal vez las soluciones que se proponen te puedan dar alguina idea.


Pues esa será la solución, parsear la pagina y localizar la zona que me interesa para leer la información, por ejemplo:
Localizo el <div> donde se ponen los productos, verifico su contenido y si cambió, genero la alerta


Pero el problema está en que no se como hacerlo con delphi



Ñuño, no tiene RSS, y no se si quieran ponerla, de todas formas los contactare para ver que pasa, nada se pierde con probar.

Neftali [Germán.Estévez] 02-11-2020 17:03:12

Cita:

Empezado por JoAnCa (Mensaje 538940)
Localizo el <div> donde se ponen los productos, verifico su contenido y si cambió, genero la alerta


Busca por los foros.
Seguramente con las Indy y con TRestClient puedas obtener el código de la página.

JoAnCa 02-11-2020 17:29:15

Resuelto
 
Cita:

Empezado por Neftali [Germán.Estévez] (Mensaje 538941)
Busca por los foros.
Seguramente con las Indy y con TRestClient puedas obtener el código de la página.


Muchas gracias por la ayuda, estudiare las Indy a ver si me sirven


PD:

O quizás mejor lo haga con python, que vi que tiene librerias especificas para web scraping

Ñuño Martínez 07-11-2020 18:54:10

Otra cosa: El protocolo HTTP incluye la un campo que indica la fecha de cambio del documento. Ahora no recuerdo si es posible que se pueda solicitar sólo dicha fecha. Lo digo porque quizá puedas aprovecharlo.

Casimiro Notevi 07-11-2020 22:13:03

Parece que no:
https://es.wikipedia.org/wiki/Anexo:Cabeceras_HTTP

Ñuño Martínez 15-11-2020 13:18:03

Leñe, pues apostaría a que en algún sitio he visto una fecha de caducidad o validez o algo así. Me habré equivocado de protocolo o a saber qué he mezclado...

Casimiro Notevi 15-11-2020 13:24:56

¿Serán las cookies?

Ñuño Martínez 16-11-2020 18:51:32

Pues ríete, pero va a ser eso seguro, de alguna vez que estuve revisando algo, y me quedé con que era algo del HTTP. Ains...


La franja horaria es GMT +2. Ahora son las 02:58:37.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi