从 Qlikview 应用程序中提取表格的正确 API/抓取方法

问题描述

我试图在这个 qlikview 页面获取一些带有特定过滤器的表格,以供将来分析:http://transferenciasabertas.planejamento.gov.br/QvAJAXZfc/opendoc.htm?document=painelcidadao.qvw&lang=en-US&host=QVS%40srvbsaiasprd01&anonymous=true

我不想手动执行(为每个过滤器下载表格)。因此,我在 qlikview 网站上搜索了 Python 的 API,但只找到了 SSE 的 qliksense API(例如 https://github.com/qlik-oss/server-side-extension)。

我是否有可能使我使用 Python 解释的检索过程自动化?

解决方法

服务器端扩展用于其他用途。它们扩展了 Qlik 的功能以处理数据(例如,如果 Qlik 本机中不存在此类函数,则在显示的数据之上运行一些统计函数)

有趣的是,门户链接 (http://transferenciasabertas.planejamento.gov.br) 是一个 QlikView 应用程序,后来重定向到 Qlik Sense 应用程序。平台上似乎允许匿名用户(这使得自动化数据检索更容易)。

Qlik Sense 通过网络套接字与浏览器通信。所以你的问题的答案是 - 是的。您可以使用 Python 连接到底层 Qlik Sense Engine 并进行一些选择并取回数据。

不太好的消息是,我认为没有专用的 Python 库,因此您必须自己发送原始 Web 套接字请求。可以在 Qlik 的 help site

中找到 Engine API 的文档

如果您对 JS 解决方案持开放态度,那么您可以使用 Qlik 的 enigma.js 库进行引擎通信。

可以从浏览器监控网络套接字流量(以查看正在发送/接收的数据及其格式)

websockets-traffic