使用Ruby或Python与API交互
我想开始制作网页应用程序。我需要基本的增删改查功能。
我对如何在Ruby和Python中做到这一点有一些基础了解,但我现在遇到了一些困难:
我该如何在Ruby或Python中解析GET或POST请求呢?
我想和别人的API进行交互,我知道我需要的字符串,但不知道在编码时该如何引用和使用这个字符串。
举个例子:我想引用一个用户的个人资料,并计算他们发布的帖子数量。
我知道这个网址大概是这样的:http://www.coolwebsite.com/users?bobsgreat?postcount
这个网址会返回一个值,表示他的帖子数量。
我该如何把这个数字放到我的Python脚本里,然后又该如何让Python把这个数字写入一个HTML文件以供查看呢?
抱歉,如果我问了很多问题,随着我开始写,问题也变得更多了。
2 个回答
0
如果你需要处理一个API并且使用Ruby语言,我强烈推荐你使用api_smith这个工具库。上次我用它的时候,大概花了两个小时就把整个API搞定了。下面这篇博客文章对这个工具有个很好的介绍:
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)