如何从随机 Reddit 子版块中提取随机帖子? (Reddit API)

问题描述 投票:0回答:2

我正在尝试在一次 api 调用中从

random
subreddit
中提取随机帖子,但我不知道如何操作。这可能吗?如果不可能,我如何通过多个 api 调用和最小的开销来实现这一点?

以下请求返回随机值

subreddit

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

与人们对

json
扩展的期望相反,调用返回的数据是带有标记的完整网页,这不是我想要的。下面显示了与实际
subreddit
相同的请求。

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

此请求会生成

subreddit
格式的苹果
json
。为了从苹果检索 5 个帖子
subreddit
,可以进行以下 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
格式。这是一个带有标记的完整网页。

链接:reddit API

api random reddit
2个回答
3
投票

更新

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

Location
标头:

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

原始回复

http://www.reddit.com/r/random 导致重定向到随机 subreddit,但不保留扩展名。此时,实现目标的最佳方法是检查

Location:
标头的响应,然后向该 subreddit 的 JSON 端点执行请求。

例如使用curl:

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

reddit 说您应该查看“cocktails”子 reddit,因此请求该子 reddit 的 JSON 数据:

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

0
投票

嘿,不完全是你要求的,但我这里有一个 subreddits 转储,你可以用于随机 martymc.fyi/prefixed_names_and_subs_250k.json

© www.soinside.com 2019 - 2024. All rights reserved.