使用Web API的Python桌面程序

| 我有一个来自客户的非常随机的请求,希望获得一个基于桌面的程序,该程序可以从基于Web的API(例如Google Analytics(分析),SEOMoz和其他类似服务)中检索信息。然后,他们希望将部分或所有这些结果存储在中央位置。他们说他们根本不需要Web应用程序,但是他们希望能够将数据存储在LAN上的“服务器”(桌面客户端的服务器版本)上。该程序应能够在Windows上运行。 Linux和OS X支持会很好。 我有一些编程经验,并且对Python半熟,所以我正在考虑使用它。我的问题是我不确定LAN上客户端/服务器之间的通信以及客户端和基于Web的API之间的通信。 1)这可能吗?如果是这样,在什么地方可以找到有关API集成和网络通信的资源/任何好的示例? 2)关于要寻找的内容的任何建议/提示(例如常见错误,重大安全问题)? 3)有什么方法比我上面概述的更好吗? 4)数据库,什么是不错的选择?我想使它尽可能独立并且或多或少地独立(依靠最少数量的已安装软件)。 感谢您的所有投入!     
已邀请:
是的,urllib,urllib2和urlparse是用于读取/读取url的核心python库。我建议为gui框架使用PyQt(pyGTK,wxWidgets和tkinter也可以,它们都可以在您提到的三个操作系统上正常运行)。 PyQt包含您需要的一切,而无需进入任何其他库。它包括网络访问控件,用于URL解析和构造的QUrl以及用于显示数据的大量GUI工具。 没有异常,除了参见4中的[1] 参见1关于PyQt。但是最终要做的是制作要访问的url(包括所有get / post参数),发送数据,侦听数据,解析数据,将其放置在db中。客户端只查询数据库,获取结果,过滤/排序/管理将在gui代码中完成。 QtDeclarative可能是允许用户编写自己的查询(也可以考虑但尚未实现)的不错选择,您也可以执行该查询。 我建议使用postgres,mysql或任何关系数据库(无论是否具有关系)(请参阅mongodb,但不要认为PyQt支持它,但是您可以将pyqt与任何python库配合使用)。然后,您可以将数据存储在此处,让客户端对其进行查询并让客户端坐在服务器上,该客户端具有额外的功能来查询站点并插入数据,尽管这可能更好地用作获取数据并插入到其中的cli工具。数据库(因此,您可以根据需要在cron作业上运行它)。 您只需要开发客户端代码和数据库模式。 [1]请记住,数据库可以有多个客户端,并且用户可以直接连接到数据库服务器。唯一真正的警告是将服务器配置为仅在lan上侦听以接收客户端,并且正确设置了用户权限。从外观上讲,这与将Webapp连接到数据库完全不同。您只是在授予更多的用户和客户端访问权限。 您最大的问题应该是弄清楚如何处理GUI编程的乏味:P     

要回复问题请先登录注册