web-dev-qa-db-fra.com

PRAW 6: Obtenez toutes les soumissions d'un subreddit

J'essaie d'itérer les soumissions d'un certain sous-crédit du plus récent au plus ancien en utilisant PRAW. Je le faisais comme ça:

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

Cependant, lorsque j'essaie de le faire maintenant, j'obtiens l'erreur suivante:

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

En regardant les documents, je n'arrive pas à comprendre comment faire cela. Le mieux que je puisse faire est:

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

Cependant, cela est limité aux 1 000 premières soumissions uniquement.

Existe-t-il un moyen de le faire avec toutes les soumissions et pas seulement avec les 1000 premiers?

6
Curtwagner1984

Vous pouvez récupérer toutes les données de pushshift.io à l'aide d'une boucle itérative. Définissez simplement la date de début comme la date de l'époque actuelle et obtenez 1000 éléments, puis placez le created_utc des derniers éléments de la liste comme paramètre avant pour obtenir les 1000 éléments suivants et continue jusqu'à ce qu'il cesse de revenir.

Vous trouverez ci-dessous un lien utile pour plus d'informations: https://www.reddit.com/r/pushshift/comments/b7onr6/max_number_of_results_returned_per_query/entrez la description du lien ici

1
Nez

Pushshift ne fonctionne pas pour les subreddits privés. Dans ce cas, vous pouvez désormais créer une base de données 1000 soumissions à la fois (pas rétroactif).

Si vous avez juste besoin d'autant de soumissions que possible, vous pouvez essayer d'utiliser les différentes méthodes de tri top, hot, new et combinez-les.

0
Alex Cooper