Ir al contenido


Foto

¿Como navegar y explorar una web sin usar un TWebBrowser?


  • Por favor identifícate para responder
11 respuestas en este tema

#1 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 27 febrero 2015 - 08:52

Buenas, hace tanto que no paso por acá. Estoy bastante desatendido del foro. Entre los desvaríos de nuestra política y el actuar de trabajo esclavo no me da el tiempo que quisiera para estar más presente.

Tengo una propuesta para un sistema y tiene unos temitas que poco he explorado.
Se me propuso buscar la forma de automatizar la consulta de movimientos de los expedientes relacionadas con los planos que los agrimensores deben presentar ante Inmuebles.
Sería relativamente fácil la cosa si dicho organismo tuviera un webservices. Y hasta lo veería como la forma más "legal" de proceder. Pero no, los de Inmuebles no van a ofrecer algo más fácil... habrá que ir a la vieja escuela.

En cierto modo, el sistema no es más que un tipo bot-spider que llene un formulario de búsqueda, y que luego explore la página devuelta buscando los últimos movimientos para el expediente en cuestión. La idea es que el sistema haga lo que estos pinches vagos no quieren hacer, y calentarse por su cuenta en averiguar si sus planos ya estan aprobados.

¿Cuál es mi problema? Pues... desconozco que componentes que ofrece Codetyphon será el más apropiado para "navegar" por la página. No necesito un webbrowser realmente ya que la idea es no tener ver la página. Se que deberé procesar el HTML devuelto y hacer el trabajo medio a los pelos.

La página en cuestión es http://www.inmuebles...r/codigo_18.asp para llenar los datos y en deta_codigo18.asp se muestra el detalle en caso de una búsqueda exitosa, o bien una leyenda de no coincidencias de no haber encontrado algo.

Le estuve haciendo un poco de ingeniería inversa, y se que entre los parámetros de búsqueda lo que se envía es el realidad el "ID" del profesional y no se busca por su nombre. No es demasiado problema ya que es algo menor pero me esperaba que entre los parámetros se pasara directamente el nombre tal como se muestra en el ListBox. Estuve pensando en que posibilidades hay de como "llenar" los datos del formulario de forma automática y hacer que el bot "presione" en Aceptar.

Como es un tema que no exploré demasiado desconozco que tipos de componentes serían los más adecuados. Tengo entendido que entre los tantos componentes que hacen a la suite Indy estaría mi respuesta pero no tengo un norte.
¿Alguien me puede hechar luz?

Gracias.
  • 0

#2 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 27 febrero 2015 - 08:54

Amigo Marchelo.... no nos abandone tanto :)

Con Delphi eso se hace con POST y GET del componente TIdHTML de los indy, con Lazarus ni idea.

Saludos
  • 0

#3 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 27 febrero 2015 - 09:07

Trataré de no desaparecerme tanto, pero no puedo prometer nada.
Parece que la vida me odia, y todo atenta contra mi pero debo hacer frente a esta pelea totalmente desigual. Y eso me consume, pero es lo que debo hacer. Y de paso intrusismo laboral  *-)

En Lazarus no existe, lo más similar en cuanto al nombre es TidHTTP. Creo que es el equivalente. Voy a tener que leerme su documentación.
Se agradece toda ayuda.

Saludos,
  • 0

#4 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 27 febrero 2015 - 09:09

......en cuanto al nombre es TidHTTP.


Eso eso, lo he dicho de memoria y me falló, bueno, algo normal si consideramos la edad :D :D :D

Saludos
  • 0

#5 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4.945 mensajes
  • LocationMéxico

Escrito 27 febrero 2015 - 09:13

Con el componente TIDHttp puedes ejecutar las operaciones de un navegador web pues te proporciona los métodos get y post.

Espero te sea de ayuda amigo.
  • 0

#6 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 27 febrero 2015 - 09:17

Se agrade a ambos el norte.
Ya estoy viendo un poco el temita.

Por lo que estoy viendo deberé hacer un paso intermedio antes de lanzar el POST. Ya que debo de obtener el value de opción asociado al profesional. Deberé explorar la lista, tomar ese "ID" y así formar los parámetros correctos para pasarle al POST.

En la tarde haré algunas pruebas.

Gracias.

Saludos,
  • 0

#7 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4.945 mensajes
  • LocationMéxico

Escrito 27 febrero 2015 - 09:28

Por lo que estoy viendo deberé hacer un paso intermedio antes de lanzar el POST. Ya que debo de obtener el value de opción asociado al profesional. Deberé explorar la lista, tomar ese "ID" y así formar los parámetros correctos para pasarle al POST.


Revisa cómo obtienen la lista de valores del select. Si lo hacen con Jquery ya la hiciste por que podrías hacer el post directamente desde indy y obtener únicamente la lista de valores. Y de esa forma hacer el post a quien devuelve los datos que buscas sin necesidad de parsear nada.

Saludos.
  • 0

#8 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 27 febrero 2015 - 09:49



Revisa cómo obtienen la lista de valores del select. Si lo hacen con Jquery ya la hiciste por que podrías hacer el post directamente desde indy y obtener únicamente la lista de valores. Y de esa forma hacer el post a quien devuelve los datos que buscas sin necesidad de parsear nada.

Saludos.

Haz de cuenta que soy tu abuela y no se nada.  :D
Estaba pensando en explorar la página buscando entre las etiquetas <option> el profesional en cuestión y guardarme el valor. Ya que parece ser este el "ID" que se termina pasando. Esto lo haría la 1ra vez, en lo sucesivo como lo tendré guardado ya simplemente le mando el POST con los parámetros hechos.

Saludos,
  • 0

#9 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4.945 mensajes
  • LocationMéxico

Escrito 27 febrero 2015 - 10:33

He revisado el sitio pero para tu mala suerte amigo parece que no es con Jquery así que o generas la lista parseando el contenido de selects o los pre registras en una tabla y así te ahorras el trabajo de estar parseando. Según veo el sitio solo pide dos parámetros. Expediente y profesional. Suerte

http://www.inmuebles...Profesional=570
  • 0

#10 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 27 febrero 2015 - 10:44

He revisado el sitio pero para tu mala suerte amigo parece que no es con Jquery así que o generas la lista parseando el contenido de selects o los pre registras en una tabla y así te ahorras el trabajo de estar parseando. Según veo el sitio solo pide dos parámetros. Expediente y profesional. Suerte

http://www.inmuebles...Profesional=570

La verdad es que no sabría como evaluar si usa JQuery un sitio. Si puede saber que en realidad pide 3 parámetros, te faltó el de fecha.  ;)
Pues como te conté mi idea es que la primera vez que se consulte algún expediente de un profesional, explorar la página buscandolo entre los <option> y luego almacenar el valor. Ya una vez almacenado (esto pensando en tener una base de datos firebird embebida con todos los expedientes y movimientos) lo que resta es pasar los valores a la lista de parámetros que pide el POST.

Si el proyecto resulta, la intención es venderlo a todos los profesionales que pueda. Mínimo voy a vender 4 licencias  asi algo es algo.

Saludos,
  • 0

#11 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4.945 mensajes
  • LocationMéxico

Escrito 27 febrero 2015 - 10:57

Si el proyecto resulta, la intención es venderlo a todos los profesionales que pueda. Mínimo voy a vender 4 licencias  asi algo es algo.


Suerte con ello amigo mio. Si en algo podemos ayudar ya sabes que lo haremos con gusto.

Saludox.  (y)
  • 0

#12 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 27 febrero 2015 - 11:16

Suerte con ello amigo mio. Si en algo podemos ayudar ya sabes que lo haremos con gusto.

Saludox.  (y)

Gracias amigo. Si me tropiezo en algo, ya lloraré por acá.  :D

Acabo de hacer la 1ra prueba chapucera y pasó. Obtengo el HTML con lo necesario. Ya ta lo "fácil" que era navegar. Lo dificil: a interpretar el HTML y obtener los datos que si necesito.

Saludos,
  • 0




IP.Board spam blocked by CleanTalk.