Discussão do artigo "Analisador Sintático HTML com o curl"

 

Novo artigo Analisador Sintático HTML com o curl foi publicado:

O artigo fornece a descrição de uma biblioteca simples para análise sintática (parser) de código HTML usando componentes de terceiros. Em particular, ela abrange as possibilidades de acessar dados que não podem ser recuperados usando os métodos HTTP GET e POST. Nós selecionaremos um site com páginas não muito extensas e tentaremos obter alguns dados interessantes dele.

Podemos questionar: "Qual é o objetivo?" Uma solução simples é acessar a página do site diretamente de um script em MQL e ler um número já conhecido de posições de uma página já vista. Assim, a porção de código recebida pode ser processada posteriormente. Este é um dos métodos possíveis. Mas, neste caso, o código do script em MQL será fortemente vinculado ao código HTML da página. E se o código HTML mudar? É por isso que nós precisamos de um analisador sintático (parser) que permita uma operação semelhante a uma árvore com um documento HTML (os detalhes serão discutidos em uma seção separada). Se nós implementarmos o analisador em MQL, isso será conveniente e eficiente em termos de desempenho? Esse código pode ser mantido de forma adequada? É por isso que a tarefa de um analisador será implementado em uma biblioteca separada. No entanto, o analisador não resolverá todos os problemas. Ele executará a funcionalidade desejada. Mas e se o leiaute do site mudar radicalmente e usar outros nomes e atributos de classe? Nesse caso, nós precisaremos alterar o objeto de busca ou vários objetos deste evento. Portanto, um dos nossos objetivos é criar o código da maneira mais rápida possível e com o mínimo de esforço. Será melhor se nós usarmos ferramentas que já estão prontas. Isso permitirá que o desenvolvedor mantenha o código com facilidade e edite-o rapidamente em caso de acontecer a situação descrita acima.

Nós selecionaremos um site com páginas não muito extensas e tentaremos obter alguns dados interessantes dele. O tipo de dados não é importante neste caso, no entanto, vamos tentar criar uma ferramenta útil. Obviamente, esses dados devem estar disponíveis nos scripts em MQL da plataforma. O código do programa será criado como uma DLL padrão.

Neste artigo, nós implementaremos a ferramenta sem chamadas assíncronas e multithread.

Autor: Andrei Novichkov

Razão: