我有兴趣从不同的reddit subreddit获取数据.有没有人知道是否有类似twitter的reddit/other api会抓取所有页面?
我正试图通过http://reddit.com上的subreddits来解析这些链接,但到目前为止我被25个结果的限制所阻止(比如访问http://www.reddit.com/时) r/apple + programming.rss).
有谁知道是否有......
我如何在JSON中获取subreddit 的新帖子?只需将.json添加到url(http://www.reddit.com/r/SOME_SUBREDDIT/new.json)即可返回以下内容:
{
kind: "Listing"
-
data: {
modhash: ""
children: [ ]
after: null
before: null
}
}
Run Code Online (Sandbox Code Playgroud)
children数组不包含任何帖子.我发现http://www.reddit.com/r/SOME_SUBREDDIT/new实际上路由到new?sort = rising当我需要的是new?sort = new.
和/ new?sort = new.json当然不会工作.
我正在尝试从reddit的API迭代解析的JSON响应.
我做了一些谷歌搜索,似乎其他人有这个问题,但没有一个解决方案似乎适合我.Ruby将['data] ['children]视为索引并导致错误,但我只是试图从JSON中获取这些值.有什么建议?
我的代码:
require "net/http"
require "uri"
require "json"
uri = URI.parse("http://www.reddit.com/user/brain_poop/comments/.json")
response = Net::HTTP.get_response(uri)
data = JSON.parse(response.body)
data.each do |child|
print child['data']['body']
end
Run Code Online (Sandbox Code Playgroud)
我在终端中收到的错误消息:
api-reddit-ruby.rb:12:in `[]': no implicit conversion of String into Integer (TypeError)
from api-reddit-ruby.rb:12:in `block in <main>'
from api-reddit-ruby.rb:11:in `each'
from api-reddit-ruby.rb:11:in `<main>'
Run Code Online (Sandbox Code Playgroud) 什么7n5lu是reddit URL
7n5lu
它是如何产生的?
更新:@Gerald,感谢您的代码.我最初认为这是对id的一些混淆.但是,它只是从整数转换为更紧凑的表示.我在想,为什么要这样做?为什么不使用原始整数本身!
>>> to36(4000)
'334'
>>> to36(4001)
'335'
Run Code Online (Sandbox Code Playgroud) 我想知道是否有可能在Reddit上获得永久访问令牌供个人使用?它只会是我使用的应用程序.
对于用户,访问令牌在1小时后到期.
我使用以下有关我的客户端ID和秘密的信息,我尝试尝试获取访问令牌.(MessageBox显示" 错误401 ")
如果用户将获得令牌,则必须在浏览器中单击"允许".这里描述得很好.https://github.com/reddit/reddit/wiki/OAuth2 这不是我追求的.我只是通过代码追求个人使用的访问令牌.这可能吗?
String requestUrl = "https://ssl.reddit.com/api/v1/access_token";
RestSharp.RestClient rc = new RestSharp.RestClient();
RestSharp.RestRequest request = new RestSharp.RestRequest(requestUrl, RestSharp.Method.POST);
request.AddHeader("Content-Type", "application/json");
//request.AddHeader("Authorization", ""); //???
request.AddHeader("x-li-format", "json");
request.AddParameter("client_id", "abcdefg");
request.AddParameter("client_secret", "abc123-456");
request.AddParameter("grant_type", "abc123-456");
request.AddParameter("scope", "identity");
request.AddParameter("state", "adhasegw"); //whatever value
request.AddParameter("duration", "permanent");
request.AddParameter("redirect_uri", "http://mywebsite.co");
request.RequestFormat = RestSharp.DataFormat.Json;
RestSharp.RestResponse restResponse = (RestSharp.RestResponse)rc.Execute(request);
RestSharp.ResponseStatus responseStatus = restResponse.ResponseStatus;
MessageBox.Show(restResponse.Content.ToString() + "," + responseStatus.ToString());
Run Code Online (Sandbox Code Playgroud) 我无法在reddit/r/redditdev上得到任何帮助,所以我希望你在stackoverflow的好人可以帮助
我正打算打电话给/ api/submit.
现在我尝试使用nodejs的请求模块调用提交
var options = {
url: 'https://oauth.reddit.com/api/submit',
method: 'POST',
headers: {
'Authorization': 'bearer '+usertoken
, 'user-agent': 'node.js'
},
json: data
}
request(options, function(error, response, body) ...
Run Code Online (Sandbox Code Playgroud)我的"数据"变量的示例如下所示:
{ api_type: 'json',
kind: 'self',
sr: 'test',
title: 'more test',
text: 'hello world',
iden: 'o6NsDh4IMCDb2To2DeUXJAgEPkB4O7uS',
captcha: 'WZRTBL' }
Run Code Online (Sandbox Code Playgroud)
但我得到了回报:
{
"jquery":[
[0, 1, "call", ["body"]],
[1, 2, "attr", "find"],
[2, 3, "call", [".status"]],
[3, 4, "attr", "hide"],
[4, 5, "call", []], …Run Code Online (Sandbox Code Playgroud) 我想知道是否有人已经在Rails中构建了一个用于线程注释的系统(因为缺少一个更好的术语),或者我是否需要自己构建它.
如果不清楚,我所指的是像Reddit那样的评论系统会自动缩进回复,使它们看起来像树的分支(最好像Reddit一样进行投票).
如果有人能指出我这样做的代码,我将不胜感激.
或者也许有一个包含此功能的开源项目.
到目前为止,我还没有在Rails中找到一个.
另外,最好在Rails论坛上问这个,如果是的话,哪一个?(我是Rails的新手)
我正在尝试从subreddit Feed中提取图像发布URL,并<img>在页面上呈现元素.
一直在尝试将jQuery Docs中的.getJSON() Flickr示例破解为一段时间,而我却无处可去.
有问题的代码:
$.getJSON('http://www.reddit.com/r/pics.json', function (data) {
$.each(data.children, function (i, item) {
$('<img/>').attr("src", url).appendTo("#images");
});
});
Run Code Online (Sandbox Code Playgroud)
在身体中,我有元素: div#images
我知道我需要使用JSONP,但不知道如何使用.有人能指出我正确的方向吗?
我一直在寻找API方法,找不到一个会返回带有所有subreddits的json.或者是唯一的方法是通过刮reddit.com/reddits?
reddit ×10
api ×5
json ×2
access-token ×1
acts-as-tree ×1
c# ×1
javascript ×1
node-request ×1
node.js ×1
python ×1
ruby ×1
slug ×1
url ×1
web-scraping ×1