Edw*_* Yu 5 api reddit node.js
我正在尝试使用 API 获取 subreddit 中的所有链接,但它只返回一个 url。这是我的代码:
var request = require('request');
webpage = 'http://www.reddit.com/r/AmazonUnder5/top.json?limit=100';
//login
request.post('http://www.reddit.com/api/login',{form:{api_type:'json', passwd:'password', rem:true, user:'username'}});
//get urls
request({uri : webpage, json:true, headers:{useragent: 'mybot v. 0.0.1'}}, function(error, response, body) {
if(!error && response.statusCode == 200) {
for(var key in body.data.children) {
var url = body.data.children[key].data.url;
console.log(url);
}
}
});
Run Code Online (Sandbox Code Playgroud)
当我在浏览器中访问 json 链接时,它会返回所有 100 个帖子。
那是因为顶部只存在 1
http://www.reddit.com/r/AmazonUnder5/top
你可以用热代替
http://www.reddit.com/r/AmazonUnder5/hot.json
此外,您不需要登录即可执行公共获取请求
编辑:您得到的结果很少,因为您没有正确登录
登录时,使用
"op" => "login"
Run Code Online (Sandbox Code Playgroud)
参数并测试返回哪些 cookie 和数据。
我还建议使用 ssl 登录 url,因为这对我有用
https://ssl.reddit.com/api/login/
Run Code Online (Sandbox Code Playgroud)