【问题标题】:How to extract a random post from a random subreddit? (Reddit API)如何从随机 subreddit 中提取随机帖子? (Reddit API)
【发布时间】:2014-08-09 04:52:03
【问题描述】:

我试图在一次 api 调用中从 random subreddit 中提取随机帖子,但我不知道如何。这是否可能,如果没有,我将如何通过多次 api 调用和最小开销来实现这一点?

以下请求返回一个随机的subreddit

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

与人们对json 扩展的期望相反,调用返回的数据是一个带有标记的完整网页,这不是我想要的。与实际 subreddit 相同的请求如下所示。

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

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

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

我想我可以将上面的 api 调用应用到 random url - 如下所示。

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

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

链接:The reddit API

【问题讨论】:

  • 你应该发布你尝试过的例子......
  • 我更新了我的问题,谢谢!

标签: api random reddit


【解决方案1】:

更新

自我最初回复以来,/r/random 已更新以保留扩展名,因此您现在还可以避免手动处理 Location 标头:

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

原始回复

http://www.reddit.com/r/random 导致重定向到随机子版块,但不保留扩展名。目前,实现目标的最佳方法是检查 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 说您应该查看“鸡尾酒”子reddit,因此请求该子reddit 的 JSON 数据:

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

【讨论】:

    猜你喜欢
    • 2020-02-17
    • 2021-02-12
    • 2021-05-07
    • 1970-01-01
    • 2019-03-11
    • 1970-01-01
    • 2018-09-27
    • 1970-01-01
    • 2019-10-16
    相关资源
    最近更新 更多