使用Ruby或Python等语言与API进行交互

时间:2011-10-09 06:28:22

标签: python ruby api parsing

我正在寻求开始构建网络应用程序。我需要基本的CRUD功能。

我理解如何在ruby和python中执行此操作的基础知识 - 但这里是我被卡住的地方:

如何在Ruby / Python中解析GET或POST请求?

我正在尝试与其他人的API进行交互,我知道我需要的字符串,而不是如何在编码时引用和使用该字符串。

实施例: 我想引用用户个人资料,并计算他们发布的帖子数量。

我知道URL看起来像这样: http://www.coolwebsite.com/users?bobsgreat?postcount

返回值=他的帖子。

如何将这个数字输入我的Python脚本 - 然后我如何让python将其写入HTML文件以供查看?

很抱歉,如果我在这里问了很多,那么问题随着我开始写作而增长。

2 个答案:

答案 0 :(得分:1)

这是一个非常粗略的示例,说明如何在 python 中执行此操作。它需要根据您的具体情况进行修改,但希望它能帮助您入门:

import urllib
import urllib2
url = "http://www.coolwebsite.com"
post = urllib.urlencode({"users":"bob", "bobsgreat":"yes", "postcount":"14"})

request = urllib2.Request(url, post)
socket = urllib2.urlopen(request)

hdrs = socket.headers
source = socket.read()
socket.close()

print "---- Headers -----"
print hdrs
print "---- Source HTML -----"
print source
print "---- END -----"

value = 0
for line in source.splitlines():
    if not line.strip():  continue
    if line.startswith("value="):
        try:
            value = line.split("=")
        except IndexError:
            pass
    if value > 0:
        break

open("some.html", "w").write("value is: %d" % value)

答案 1 :(得分:0)

如果您必须处理API并使用Ruby,我强烈推荐api_smith gem。上次我不得不这样做,花了2个小时左右才结束整个API。以下博客文章给出了一个很好的介绍:

Building Structured API Clients with API Smith