HOW TO:编写Python API包装器?

时间:2009-02-05 18:29:07

标签: python web-services api rest

我想编写一个python库来包装特定Web服务提供的REST风格的API。有没有人知道这些工作的任何好的学习资源,最好是针对中级Python程序员?

我想要一篇关于这个主题的好文章,但我会满足于很好,清晰的代码示例。

澄清:我要做的是编写一个Python客户端来与Web服务交互 - 构建HTTP请求和解析XML / JSON响应,所有这些都包含在Python对象中

5 个答案:

答案 0 :(得分:3)

我不能指出任何关于如何做的文章,但我认为有一些库可以成为如何设计自己的好模型。

例如

PyAws。我没有看到源代码所以我不能告诉你代码示例有多好,但是他们网站中的功能和用法示例应该是一个有用的设计模型

Universal Feed Parser不是Web服务的包装器(它是一个RSS解析器库),但它是设计的一个很好的例子,它优先考虑使用灵活性并隐藏实现细节。我认为你可以在那里获得非常好的包装使用方法。

答案 1 :(得分:2)

我最喜欢的组合是httplib2(或性能的pycurl)和simplejson。由于REST更像是“一种设计方式”,那么真正的“协议”并不是真正可重用的东西(我知道)。在Ruby上你有类似ActiveResource的东西。说实话,即便只是将一些表暴露为Web服务,而xml / json的强大之处在于它们更像是“视图”,可以包含针对您的应用程序优化的多个对象。我希望这是有道理的: - )

答案 2 :(得分:1)

This tutorial page可能是一个很好的起点(但它不包含你需要的一切)。

答案 3 :(得分:0)

你应该看看PyFacebook。这是Facebook API的python包装器,它是我用过的最好的API之一。

答案 4 :(得分:0)

你可以签出pythenic jobs,这是一个很好的,简单但结构良好的“Python Jobs包装,围绕Authentic Jobs ... API”作为一个很好的例子。这就是我现在正在做的事情:))