Discusión sobre el artículo "Análisis sintáctico HTML con ayuda de curl"

 

Artículo publicado Análisis sintáctico HTML con ayuda de curl:

En el artículo se describe una sencilla biblioteca que usa componentes de terceros para parsear código HTML. El lector podrá saber cómo llegar hasta los datos que no se pueden obtener con solicitudes GET y POST. Vamos a elegir algún sitio web con páginas no demasiado voluminosas, e intentaremos obtener del mismo información interesante.

Como sucede en otros casos, puede perfectemente surgir la pregunta: "¿Para qué necesitamos esto?" Podemos tomar de un script MQL la página de un sitio web y leer en un lugar conocido de antemano un número de símbolos conocido de antemano. Y, a continuación, trabajar con la línea obtenida. Sí, podemos hacerlo de esa forma. Pero este enfoque vinculará inalterablemente el código MQL del script al código HTML de la página. ¿Y si este código cambia, aunque sea solo un poco? Precisamente en estos casos necesitaremos un parser (analizador sintáctico), que nos dará la posibilidad de trabajar con un documento HTML como si se tratara de un árbol (volveremos a este punto en el apartado correspondiente). Es posible implementarlo en MQL, pero, ¿será esto correcto? ¿Cómo se reflejará en el rendimiento? ¿Resultará cómodo corregir y mejorar un código así? Por eso, la tarea del análisis sintáctico se mostrará en una biblioteca aparte. Debemos destacar de inmediato que el parser no resolverá todos los problemas. Hará su parte del trabajo, pero, ¿qué ocurrirá si el diseño del sitio web cambia de una forma tan radical que los nombres de las clases y atributos sean otros totalmente distintos? En este caso, deberemos cambiar el objeto de la búsqueda de forma operativa, y es posible que no solo un objeto. Por eso, una de las tareas a las que nos enfrentaremos será la creación del código necesario, lo más rápido posible y con el mínimo de esfuerzo. Y, preferiblemente, a partir de componentes ya preparados. En este caso, si se da la situación descrita, el desarrollador podrá corregir y mejorar el código, así como introducir los cambios de forma operativa.

Vamos a elegir algún sitio web con páginas no demasiado voluminosas, e intentaremos obtener del mismo información interesante. La elección en sí no es algo tan importante, pero de todas formas, intentaremos que nuestros esfuerzos no sean en vano. COmo es lógico, esta información deberá estar disponible para los scripts MQL en el terminal. El código de programación se creará en forma de biblioteca DLL estándar.

En el presente artículo, la tarea se resolverá sin llamadas asincrónicas y sin tener en cuenta el flujo múltiple.

Autor: Andrei Novichkov