文章 "利用 curl 解析 HTML"

 

新文章 利用 curl 解析 HTML已发布:

本文论述利用第三方控件的简易 HTML 代码解析库。 特别是,它涵盖了诸多访问数据的可能性,甚至有些用往常的 GET 和 POST 请求都无法检索。 我们将选择一个页面不太大的网站,并尝试从该网站获取感兴趣的数据。

也许有人会问:“这有什么意义?”,一个简单的解决方案是直接从 MQL 脚本访问网站页面,并在已知页面位置读取已知数量的持仓信息。 然后,可以进一步处理接收到的字符串。 这是可能的方法之一。 但是在这种情况下,MQL 脚本代会与特定页面的 HTML 代码紧密绑定。 若是 HTML 代码变化了怎么办? 这就是为什么我们需要一个解析器来,可将 HTML 文档整理为类似树形的操作(详细信息将在单独的章节中进行讨论)。 如果我们以 MQL 实现解析器,那么就性能而言是否更佳便捷、高效? 这样的代码能够维护得当吗? 这就是为什么解析功能应放在单独的函数库中来实现的原因。 不过,解析器无法解决所有问题。 它会执行所期望的功能。 但如果网站设计发生重大变化,并换用了其他类名和属性该怎么办? 在这种情况下,我们将需要修改搜索对象或事件的多个对象。 所以,我们的目标之一是尽快以最小的工作量创建必要的代码。 如果我们有现成的部件可用则更好。 在上述状况下,这可令开发人员轻松维护代码,并快速对其进行编辑。

我们将选择一个页面不太大的网站,并尝试从该网站获取感兴趣的数据。 在这种情况下,数据的类型并不重要,尽管如此,我们还是来尝试创建一个有用的工具。 当然,该数据必须可用终端的 MQL 脚本进行处理。 程序代码将创建为标准 DLL。

在本文中,我们将实现的工具不支持异步调用和多线程。

作者:Andrei Novichkov

Andrei Novichkov
Andrei Novichkov
  • www.mql5.com
已发布文章Построение советника с использованием отдельных модулей В процессе разработки индикаторов, советников и скриптов, разработчику приходится постоянно создавать законченные фрагменты кода, непосредственного отношения к стратегии торговли не имеющих. В статье рассмотрен способ проектирования советников с использованием ранее спроектированных...