Obtener el contenido de un campo desde una web


([N4] Ramon Denuc) #1

Hola Foro,

Tengo la necesidad de leer el contenido de un par de datos->“Campos” que hay en una celda que esta en esta pagina -> Auto Data

Tengo de leer los 27369 ID’s que tiene esa pagina, pero solo tengo que leer de cada ID el campo “Año de la puesta en producción” y el campo “Año de detener la producción” y guardar esa captura en una tabla de Velneo.

Sinceramente, no tengo ni idea si se puede hacer con Velneo ni tampoco como se hace. Así que os pido mi más humilde ayuda para poder llevar acabo esa necesidad.

Felices Fiestas
Saludos


([N3] pacosatu) #2

Hola Ramón.

Muy sencillo.

  • Descarga las páginas HTML con el comando Get fichero de URL o usando la clase XmlHttpRequest del API
  • Carga el HTML en una variable y Parseas el contenido para localizar los 2 campos.
    Seguramente serán 2 celdas html <td>Nombre campo</td><td>dato a leer<td>
    Tienes las funciones de cadena de Velneo para obtener las subcadenas.
  • Otra opción es usar la librería jQuery para hacer consultas en la estructura html/CSS de la página descargada. En este caso necesitarías usar el Visor Html de Velneo para hacerlo funcionar. Es una opción muy potente pero requiere que la página esté bien construida para que las consultas jQuery funcionen bien.

Saludos
Paco Satué


([N4] Ramon Denuc) #3

Hola Paco,

He estado estudiando las posibilidades que has expuesto, y después de estar algunas hora mirando que era lo que mejor me convenía, he llegado a la conclusión de que como la pagina web (HTML) que se descarga no esta bien etiquetada/estructurada la tabla que contiene los valores que deseo obtener, me es muy difícil o mejor dicho imposible poder buscar el valor que necesito.

Por ejemplo: Las etiquetas de las celdas tienen el mismo nombre, así que no puedo hacer una búsqueda de linea por linea ya que todas las celdas tiene el mismo nombre aunque su valor no. (dejo una imagen)

Si alguno tiene alguna idea, para poder obtener los datos de las celdas que contiene la pagina, me haría un gran favor.

Saludos



([N1] wikan) #4

No entiendo “etiquetada/estructurada” si no lo estuviera, no se vería correctamente.

Tienes que buscar el primer td que contiene “etiqueta” de la información y luego el siguiente td, contiene el dato que necesitas
<td>Capacidad depósito </td> => etiqueta
<td>51 l Editar este coche </td> => información entre los

De todas formas, obtener la información de una página que puede ser modificada por cualquiera no es muy fiable.


([N3] pacosatu) #5

Hola Ramon.

Si tienes la información que quieres obtener localizada en el código HTML, no sé cuál es el problema para no poder extraer esa información. Es un simple ejercicio de usar las funciones de cadena para ejecutar un substring(cadena, inicio, final).

Para casos más complejos yo uso la librería javascript jQuery con unos resultados totalmente satisfactorios.

He preparado un ejercicio con tu página web para obtener la lista completa de características del vehículo usando jQuery.

Como siempre el acceso es vatp://pruebas:pruebas@v7cloud6.velneo.com:8894/0PS_Varios_iapp.

El código plantilla necesario para parsear el HTML con jQuery es accesible a través de la ayuda (Ctrl+F1).
La librería jQuery está muy bien documentada y tienes miles de ejemplos.

Saludos
Paco Satué


([N4] Ramon Denuc) #6

Hola Paco,

Ostias!!! (<- perdón) = Que buenísimo ejemplo que has construido para poder obtener los datos de una tabla incluida en un HTML, me he quedado a cuadros, de verdad, me pongo ahora mismo a revisarlo linea a linea, a ver si consigo que a mi me funcione.

Muchísimas gracias de nuevo por volver a enseñarnos cosas que ya deberían estar en esos ilustrativos manuales de tenemos de Velneo. :wink:

Saludos


([N4] Ramon Denuc) #7

Hola de nuevo,

Algunas preguntas,

1 - La URL que deseamos parsear en que variable de tu ejemplo la debo adjuntar, en CHREF_LINK ?

2 - La “Carga del código plantilla en el Visor HTML de parseo” no se en que lugar exacto tiene que ir, ¿me puedes indicar donde?

3 - El “Código plantilla que se ejecuta en el Visor HTML de parseo” se debe de guardar en la variable CCODIGO_PARSEO y poner dicha variable en el contenido del Visor HTML, ¿no?

Saludos


([N4] Ramon Denuc) #8

Hola Paco,

Ya he conseguido descargar los datos de la web, pero ahora tengo continuamente el error en JSON.

¿Alguna idea del porque?

Adjunto imagen

Saludos



([N4] Ramon Denuc) #9

Hola de nuevo,

Bueno, sigo investigando, por lo que voy averiguando lo que pasa es que no se ejecuta el EVENTO_CLICK, tengo configurado una conexión de evento con la señal Link clicked que debería ejecutar el EVENTO_CLICK, pero no entra.

¿Alguna idea?

Saludos


([N4] Ramon Denuc) #10

Buenas y frías noches de una día de invierno,

Al fin e conseguido hacer funcionar el ejemplo que Paco hace algunos días presento en sus ejemplos (vatp://pruebas:pruebas@v7cloud6.velneo.com:8894/0PS_Varios_iapp), que como ya nos tiene acostumbrados son muy didácticos y se puede llegar a prendar, mucho.

Gracias Paco por tus ejemplo. (Velneo debería tomar nota)

Saludos
Ramon Denuc


([N3] pacosatu) #11

Hola Ramon.

Sabía que finalmente lo lograrías. Lo importante es llegar a entender por uno mismo el ejercicio.
Velneo no es mejor ni peor que cualquier otro lenguaje de programación, solo hay que dedicarle tiempo e imaginación.

Eso sí, le sigo pidiendo a Velneo que mejore, ¡y mucho!, la usabilidad de las distintas herramientas y se ponga las pilas con la gran cantidad de bugs que siguen estando en la pila de TO-DO.

Saludos
Paco Satué