标签: reddit

用django投票的reddit风格

Hay我需要将投票系统实施到模型中.

我从Mike DeSimone那里得到了一个巨大的帮助,使得这项工作成为首要任务,但我需要扩展他的工作.

这是我目前的代码

视图

def show_game(request):
    game = Game.objects.get(pk=1)
    discussions = game.gamediscussion_set.filter(reply_to=None)
    d = {
        'game':game,
        'discussions':discussions
    }
    return render_to_response('show_game', d)
Run Code Online (Sandbox Code Playgroud)

模板

<ul>
    {% for discussion in discussions %}
    {{ discussion.html }}
    {% endfor %}
</ul>
Run Code Online (Sandbox Code Playgroud)

模型

class GameDiscussion(models.Model):
    game = models.ForeignKey(Game)
    message = models.TextField()
    reply_to = models.ForeignKey('self', related_name='replies', null=True, blank=True)
    created_on = models.DateTimeField(blank=True, auto_now_add=True)
    userUpVotes = models.ManyToManyField(User, blank=True, related_name='threadUpVotes')
    userDownVotes = models.ManyToManyField(User, blank=True, related_name='threadDownVotes')

    def html(self):
        DiscussionTemplate = loader.get_template("inclusions/discussionTemplate")
        return DiscussionTemplate.render(Context({
            'discussion': self,
            'replies': [reply.html() for reply in …
Run Code Online (Sandbox Code Playgroud)

django vote reddit

6
推荐指数
1
解决办法
3458
查看次数

Reddit主页上的分页如何工作?

Reddit使用时间衰减算法.这意味着排序顺序可能会发生变化.当用户转到第2页时,是否有一种机制可以阻止他们看到第1页上的帖子,但在他们翻页之前被降到第2页?它只是排序方法的一个可接受的缺陷吗?或者是为用户缓存的前几页,所以这不会发生?

旁注:据我所知,Digg不会遇到这个问题,但HackerNews和Reddit可以.

algorithm reddit

6
推荐指数
1
解决办法
1966
查看次数

PRAW 6:获取所有提交的subreddit

我正在尝试使用PRAW从最新到最旧的迭代某个subreddit的提交。我曾经这样做:

subreddit = reddit.subreddit('LandscapePhotography')
for submission in subreddit.submissions(None, time.time()):
    print("Submission Title: {}".format(submission.title))
Run Code Online (Sandbox Code Playgroud)

但是,当我现在尝试执行此操作时,出现以下错误:

AttributeError: 'Subreddit' object has no attribute 'submissions'

通过查看文档,我似乎无法弄清楚该如何做。我能做的最好的事情是:

for submission in subreddit.new(limit=None):
    print("Submission Title: {}".format(submission.title))
Run Code Online (Sandbox Code Playgroud)

但是,这仅限于前1000个提交。

有没有办法处理所有提交的内容,而不仅仅是前1000个?

python reddit praw

6
推荐指数
1
解决办法
3164
查看次数

作为一个例子,Reddit排名的数学算法来自哪里?

最近我正在研究Reddit的算法,以确定什么使帖子成为"热门"主题,哪些内容适合reddit主页.

我正在阅读的文章在这里:http: //amix.dk/blog/post/19588

我注意到他们有数学逻辑,并创建了某种数学函数来确定帖子的热度/相关性.

在使用的公式中,每个数学组件来自何处以及如何使用它们?

谢谢!

- 巴克兹

编辑:只是为了澄清,我刚刚高中毕业并道歉,如果这个问题的答案似乎很明显.再次感谢!

algorithm math reddit web

5
推荐指数
2
解决办法
2317
查看次数

通过Reddit post帮助获取URL链接到PRAW

使用Praw我试图将帖子链接到Reddit提交的标题中.例如,提交链接到此图像.我已经尝试找出从PRAW中Submission对象中提取此信息的方法,但即使在浏览源代码时我也无法找到此信息.这似乎应该很容易,所以我可能会遗漏一些东西.

非常感谢您的帮助.

python api reddit

5
推荐指数
2
解决办法
7405
查看次数

HTTP 错误 504:尝试阅读 reddit 评论帖子时网关超时

尝试从 reddit 获取评论的 http 时遇到错误。这发生在各种 URL 上(并非所有 URL 都带有特殊字符),这就是其中之一。在一小时的时间范围内,可能会有 1000 个或更多的请求发送到 reddit.com 域。

hdr = {"User-Agent": "My Agent"}
try:
     req = urllib2.Request("http://www.reddit.com/r/gaming/"
           "comments/1bjuee/when_pok?©mon_was_good", headers=hdr)
     htmlSource = urllib2.urlopen(req).read()
except Exception as inst:
     print inst

Output>>HTTP Error 504: Gateway Time-out
Run Code Online (Sandbox Code Playgroud)

python urllib2 reddit web-scraping http-status-code-504

5
推荐指数
1
解决办法
3万
查看次数

PRAW:评论提交者的用户名

我正在开发一个reddit bot,需要知道哪个用户提交了评论.

根据PRAW API包装器文档,没有特定的方法来获取Comment对象的作者的用户名.理想情况下,我可以直接获取用户名.如果那不可能,有没有办法获取作者的全名,然后将其转换为用户名?

python api reddit

5
推荐指数
1
解决办法
6373
查看次数

对等方重置连接 - reddit api

我正在尝试制作一个长时间运行的 Python 脚本,该脚本使用 PRAW 4.4.0 定期查询 Reddit 以获取新的提交/评论,首先我像这样初始化对象:

redditClient = praw.Reddit(
    client_id=constants.REDDIT_CLIENT_ID,
    client_secret=constants.REDDIT_CLIENT_SECRET,
    user_agent=constants.REDDIT_USER_AGENT
)
Run Code Online (Sandbox Code Playgroud)

一段时间后,我收到以下错误:

请求错误('连接中止。',错误(104,'连接重置'))

我的猜测是发生这种情况是因为我保持连接打开,但我没有找到关闭它的方法。你能帮我弄清楚如何解决这个问题吗?

python reddit praw

5
推荐指数
1
解决办法
550
查看次数

无法使用Reddit API使用Application Only OAuth检索访问令牌

所以我在以下链接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)

c++ rest qt reddit oauth-2.0

5
推荐指数
1
解决办法
339
查看次数

如何在浏览器的 reddit api 中使用 oauth?

我所做的一切都不起作用,而且我不断收到可笑的 CORS 错误和其他问题。我只想做一个正常的宣誓,通过浏览器登录用户。我想使用 snowrap,但我什至无法使用它,因为我需要刷新令牌。

\n\n

我已经授权该应用程序并从 API 获取“代码”,然后我应该通过向https://www.reddit.com/api/v1/access_token发出发布请求来使用该代码。

\n\n

但我每次都会收到 CORS 错误。

\n\n
Cross-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).\n
Run Code Online (Sandbox Code Playgroud)\n\n

代码:

\n\n
const 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)

javascript api oauth reddit

5
推荐指数
1
解决办法
1773
查看次数