[英]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 个帖子,有什么办法可以让他/她获得提交的总数?
提前致谢!
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.