2014-01-06 87 views
2

我试图在一个API调用中从randomsubreddit中提取一个随机发布,但我无法弄清楚。这是可能的,如果没有,我将如何实现这个多个API调用和最小开销?如何从随机subreddit中提取随机帖子? (Reddit API)

以下请求会随机返回subreddit

http://www.reddit.com/r/random.json 

出乎人们可能会从json扩展预期,从调用返回的数据与标记一个完整的网页,这不是我想要的。下面显示了与实际subreddit相同的请求。

http://www.reddit.com/r/apple.json 

该请求产生苹果subredditjson格式。为了从苹果subreddit中检索5个帖子,可以进行以下api调用。

http://www.reddit.com/r/apple/comments.json?limit=5 

我想我可以在上面API调用应用到random网址 - 如下图所示。

http://www.reddit.com/r/random/comments.json?limit=5 

可正常工作,但结果是不是json格式。这是一个带有标记的完整网页。

链接:The reddit API

+0

你要张贴检查你的例子已尝试... – Phlume

+0

我更新了我的问题,谢谢! –

回答

3

更新

在时间,因为我原来的响应,/ R /随机已经更新维护的扩展,所以你也可以现在避免手动处理Location头:

$ curl http://www.reddit.com/r/random.json 
{ 
"data": { 
    "after": "t3_1ubf3e", 
... 

原始响应

http://www.reddit.com/r/random导致重定向到一个随机的subreddit,但不保留扩展名。目前,实现您的目标的最佳方法是检查Location:标头的响应,然后对该子标签的JSON端点执行请求。

例如,使用curl:

$ curl --include http://www.reddit.com/r/random 
HTTP/1.1 302 Moved Temporarily 
Location: http://www.reddit.com/r/cocktails/ 
... 

reddit的说,你应该检出 “鸡尾酒” 版(Subreddit),所以请求JSON数据,该版(Subreddit):

$ curl http://www.reddit.com/r/cocktails/.json 
{ 
"data": { 
    "after": "t3_1ubf3e", 
... 
+0

谢谢,这正是我需要与我的项目一起进步的过程! –