繁体   English   中英

PRAW:如何获取一个Reddit用户的总提交次数大于1000?

[英]PRAW: How to get a Reddit user total number of submissions when it is greater than 1000?

我正在尝试获取 Reddit 用户的提交总数,但 Reddit API 仅限于显示 1000 个帖子。

因此,以下代码不适用于提交超过一千条的用户:

import praw

reddit = praw.Reddit(client_id='CLIENT_ID',
                     client_secret='SECRET_KEY',
                     user_agent='USER_AGENT',
                     username='USERNAME',
                     password='PASSWORD')

counter = 0
submissions = reddit.redditor('REDDIT_USERNAME').submissions.new(limit=None)

for submission in submissions:
    counter += 1

print(counter)

同样,我尝试简单地执行print(len(submissions)) ,但我得到以下信息:

TypeError: object of type 'ListingGenerator' has no len()

如果他/她有超过 1000 个帖子,有什么办法可以让他/她获得提交的总数?

提前致谢!

PRAW 或任何其他 Reddit API 客户端无法做到这一点。

Reddit 的 API 将列表限制为大约 1000 个项目。 您不能使用 Reddit API 获取更多项目,使用 PRAW 或任何其他 Reddit API Wrapper。

但是,像PushShift这样的第三方服务拥有 Reddit 数据和 API,可以获取用户的 1000 多个帖子,但需要注意的是这些项目必须是公开的。

有几种方法之一,有些方法比其他方法更完美。

您可以在所有时间段(日、周、月、年、所有)内访问每种排序(例如按热门、新、顶部排序)。 根据用户的活动,这可能就足够了。 您可以使用 Pushshift API 来获取公开提交。

我在redditdev subreddit 上发表的评论中进行了解释

是的。 一般来说,您可以获得列表中的最后 1000 个项目(/r/all 和 /r/popular 列表更高),无论它是多久之前。

获得超过 1000 件物品:

[...]

如果这是一个公共 subreddit,也可以考虑使用 pushshift.io

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM