gpt4 book ai didi

使用 Web API 的 Python 桌面程序

转载 作者:太空宇宙 更新时间:2023-11-04 06:28:28 26 4
gpt4 key购买 nike

我有一个非常随机的客户请求,想要一个基于桌面的程序,该程序可以从基于 Web 的 API(例如 Google Analytics、SEOMoz 和其他类似服务)中检索信息。然后,他们希望将部分或所有这些结果存储在一个中央位置。他们说他们根本不需要 Web 应用程序,但他们确实希望能够将数据存储在其 LAN 上的“服务器”(读取,桌面客户端的服务器版本)上。该程序应该能够在 Windows 上运行。支持 Linux 和 OS X 就好了。

我有一些编程经验,对 Python 也有一定的了解,所以我正在考虑使用它。我的问题是我不确定 LAN 上客户端/服务器之间的通信以及客户端和基于 Web 的 API 之间的通信。

1) 这可能吗?如果是这样,在哪些地方可以找到有关 API 集成和网络通信的资源/任何好的示例?

2) 关于注意事项(例如常见错误、主要安全问题)的任何建议/提示?

3) 有什么方法比我上面概述的方法更好吗?

4) 数据库,什么是好的选择?我想让它尽可能独立并且或多或少是自包含的(依赖于最少量的已安装软件)。

感谢所有的输入!

最佳答案

  1. 是的,urllib、urllib2 和 urlparse 是用于读取 url 的核心 python 库。我建议将 PyQt 用于 gui 框架(pyGTK、wxWidgets 和 tkinter 也可以,它们在您提到的三个操作系统上都运行良好)。 PyQt 包含您需要的一切,而无需访问任何其他库。它包括网络访问控制、用于 url 解析和构造的 QUrl 以及大量用于显示数据的 GUI 工具。

  2. 没有异常,除了见 4 中的 [1]

  3. 参见 1 关于 PyQt。但是你最终要做的是制作你想要访问的 url(包括所有 get/post 参数),发送数据,监听数据,解析数据,放在数据库中。客户端将只查询数据库、获取结果、过滤/排序/管理将在 gui 代码中完成。 QtDeclarative 可能是一个不错的选择,它允许用户制作他们自己的查询(想到但尚未实现),您也可以执行。

  4. 我建议使用 postgres、mysql 或任何数据库,无论是否是关系数据库(请参阅 mongodb,但认为 PyQt 尚不支持它,但您可以将任何 python 库与 pyqt 很好地结合使用)。然后您可以将数据存储在那里,让客户端查询它并让客户端位​​于服务器上,它具有查询站点和插入数据的额外功能虽然这可能更好地用作获取数据并插入到的 cli 工具数据库(因此您可以根据需要在 cron 作业上运行它)。

您只需要开发客户端代码和数据库架构。 [1] 请记住,数据库可以有多个客户端和用户直接连接到数据库服务器。唯一真正需要注意的是将服务器配置为仅在 lan 上监听以接收客户端,并且用户权限设置正确。这与将 webapp 连接到数据库只是外观上的不同。您只是授予更多用户和客户访问权限。

你最大的问题应该是弄清楚如何处理 GUI 编程的乏味性:P

关于使用 Web API 的 Python 桌面程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5657800/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com