最近我正在研究Reddit的算法,以确定什么使帖子成为"热门"主题,哪些内容适合reddit主页.
我正在阅读的文章在这里:http: //amix.dk/blog/post/19588
我注意到他们有数学逻辑,并创建了某种数学函数来确定帖子的热度/相关性.
在使用的公式中,每个数学组件来自何处以及如何使用它们?
谢谢!
- 巴克兹
编辑:只是为了澄清,我刚刚高中毕业并道歉,如果这个问题的答案似乎很明显.再次感谢!
所以我最近就链接提交+声誉系统的存在问了这个问题.我的反应令我兴奋不已.我的意思是,reddit开源了,所以为什么重新发明轮子.但看完这篇文章后,我完全心灰意冷.
我的担忧与文章中的内容一致:
如果我采用这个克隆,我不确定与reddit对其来源所做的更改保持合并是多么困难.特别是在重新命名应用程序之后.有人有任何实际经验吗?
此外,还有其他更简单(可选择扩展)的系统我可以探索吗?
使用php for Reddit api提交故事会将错误的验证码作为错误返回.我能够使用api登录并使用api完美地获取usermod和captcha.理想情况下,如果reddit_session cookie被传递,它应该发布并且不返回坏的验证码可以有人让我对此有所了解..
参考链接:https: //github.com/reddit/reddit/wiki/API
<?php
$user = "";
$passwd = "";
$url = "http://www.reddit.com/api/login/".$user;
$r = new HttpRequest($url, HttpRequest::METH_POST);
$r->addPostFields(array('api_type' => 'json', 'user' => $user, 'passwd' => $passwd));
try {
$send = $r->send();
$userinfo = $send->getBody();
} catch (HttpException $ex) {
echo $ex;
}
$arr = json_decode($userinfo,true);
$modhash = $arr['json']['data']['modhash'];
$reddit_session = $arr['json']['data']['cookie'];
$post = array('uh'=>$modhash,
'kind'=>'link',
'url'=>'yourlink.com',
'sr'=>'funny',
'title'=>'omog-asdfasf',
'id'=>'newlink',
'r'=>'funnyier',
'renderstyle'=> 'html'
);
$url = "http://www.reddit.com/api/submit";
// Upvote RoboHobo's comment :)
// Add …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用他们的API和Python的urllib2从Reddit中删除新故事,但我一直在获取像这样的JSON文档:
{ u'kind': u'Listing', u'data': { u'modhash': u'', u'children': [], u'after': None, u'before': None }}
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
import json
import time
import urllib2
def get_submissions(after=None):
url = 'http://reddit.com/r/all/new.json?limit=100'
if after:
url += '&after=%s' % after
_user_agent = 'Reddit Link Analysis Bot by PirateLogic @ github.com/jamesbrewer'
_request = urllib2.Request(url, headers={'User-agent': _user_agent})
_json = json.loads(urllib2.urlopen(_request).read())
return [story for story in _json['data']['children']], _json['data']['after']
if __name__ == '__main__':
after = None
stories = []
limit = 1
while len(stories) < limit:
new_stories, after = get_submissions(after) …Run Code Online (Sandbox Code Playgroud) 我正在开发一个reddit bot,需要知道哪个用户提交了评论.
根据PRAW API包装器文档,没有特定的方法来获取Comment对象的作者的用户名.理想情况下,我可以直接获取用户名.如果那不可能,有没有办法获取作者的全名,然后将其转换为用户名?
我正在尝试在基于Android的"无用户"应用程序中实现Reddit oAuth2(每个使用Reddit内容的应用程序都必须实现此功能)并且我遵循指南.
client_id.因此,我已经编写了两种方法来解决这个问题,似乎两种方法都不起作用.适当的片段中的调用对于这两个选项是相同的,它如下所示:
public void oAuth(){
String bodyString = "grant_type=" + "https://oauth.reddit.com/grants/installed_client"
+ "&device_id=" + UUID.randomUUID().toString();
TypedInput requestBody = new TypedByteArray("application/x-www-form-urlencoded", bodyString.getBytes(Charset.forName("UTF-8")));
RedditAPI.sRedditAuth().redditAuth(requestBody, new Callback<TokenResponse>() {
@Override
public void success(TokenResponse tokenResponse, Response response) {
Log.d("OATH_TAG", "oAuth() | YAY! :)");
}
@Override
public void failure(RetrofitError error) {
Log.d("OATH_TAG", "oAuth() | NOOOOOoooooo.... :(");
}
});
}
Run Code Online (Sandbox Code Playgroud)
选项1:
改造界面:
public interface RedditAuthInterface {
@POST(Urlz.REDDIT_OATH2_PATH)
void redditAuth(@Body TypedInput body, Callback<TokenResponse> …Run Code Online (Sandbox Code Playgroud)嘿我正在使用react-app做一个小项目,我一直在努力为这个模块创建导出.
我用npm安装它,我想编辑它,以便我可以导入并在我的app.js中使用它
我试图使用class\function\let定义"reddit"并使用以下任一方法:
export default
module.exports
Run Code Online (Sandbox Code Playgroud)
或者
import reddit from 'reddit.js';
var reddit = require('reddit.js');
Run Code Online (Sandbox Code Playgroud)
并尝试使用模块中的简单函数进行检查:
console.log(reddit.hot('cats'));
Run Code Online (Sandbox Code Playgroud)
但我仍然得到:
Uncaught TypeError: reddit.hot is not a function
Run Code Online (Sandbox Code Playgroud)
我有点迷茫,我做错了什么?
所以我在以下链接https://github.com/reddit-archive/reddit/wiki/OAuth2上阅读了文档.我正在尝试为我的应用程序检索访问令牌,该令牌只需要Application Only OAuth,因为它不需要用户插入其凭据.我已按照上述页面上的说明操作,但我无法检索访问令牌,而且我总是得到:
"{\"message\": \"Unauthorized\", \"error\": 401}"
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
#include "reddit.h"
#include <QtNetwork>
#include <QUuid>
const QString GRANT_URL = "https://oauth.reddit.com/grants/installed_client";
const QString ACCESS_TOKEN_URL = "https://www.reddit.com/api/v1/access_token";
const QByteArray CLIENT_IDENTIFIER = "MYID";
Reddit::Reddit(QObject *parent) : QObject(parent)
{
mDeviceID = "DO_NOT_TRACK_THIS_DEVICE";
mAuthHeader = "Basic " + CLIENT_IDENTIFIER.toBase64();
}
void Reddit::getAccessToken()
{
auto netManager = new QNetworkAccessManager(this);
QUrl requestUrl = buildAccessTokenUrl();
QNetworkRequest netRequest(requestUrl);
netRequest.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
netRequest.setRawHeader("Authorization", mAuthHeader);
auto reply = netManager->post(netRequest, requestUrl.query(QUrl::FullyEncoded).toUtf8());
connect(reply, &QNetworkReply::finished, this, &Reddit::accessTokenRequestFinished);
}
void Reddit::accessTokenRequestFinished()
{
auto reply = …Run Code Online (Sandbox Code Playgroud) 我所做的一切都不起作用,而且我不断收到可笑的 CORS 错误和其他问题。我只想做一个正常的宣誓,通过浏览器登录用户。我想使用 snowrap,但我什至无法使用它,因为我需要刷新令牌。
\n\n我已经授权该应用程序并从 API 获取“代码”,然后我应该通过向https://www.reddit.com/api/v1/access_token发出发布请求来使用该代码。
\n\n但我每次都会收到 CORS 错误。
\n\nCross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://www.reddit.com/api/v1/access_token. (Reason: missing token \xe2\x80\x98access-control-allow-headers\xe2\x80\x99 in CORS header \xe2\x80\x98Access-Control-Allow-Headers\xe2\x80\x99 from CORS preflight channel).\n\nCross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://www.reddit.com/api/v1/access_token. (Reason: CORS request did not succeed).\nRun Code Online (Sandbox Code Playgroud)\n\n代码:
\n\nconst redirect_uri = \'https://EXAMPLE.com/reddit/\';\nconst client_id = \'xxxxxxxxxxxxx\';\nconst queryString = window.location.search;\nconst urlParams = new URLSearchParams(queryString); /*global URLSearchParams*/\nconst code …Run Code Online (Sandbox Code Playgroud)