4

サブレディットからすべてのコメントをスクレイピングしようとしています。PRAWというライブラリを見つけました。例を示します

import praw
r = praw.Reddit('Comment parser example by u/_Daimon_')
subreddit = r.get_subreddit("python")
comments = subreddit.get_comments()

ただし、これは最新の 25 件のコメントのみを返します。subreddit のすべてのコメントを解析するにはどうすればよいですか? Reddit インターフェースにはnextボタンがあるので、ページごとに履歴をさかのぼることができるはずです。

4

1 に答える 1

2

ドキュメントから:

完全な使用法については UnauthenticatedReddit.get_comments() を参照してください。

その関数には *args と **kwargs があり、関数のメモ:

追加のパラメーターは、get_content() に直接渡されます。注: url パラメータは変更できません。

したがって、私はその機能を見ました(ここで見つけてください)。の引数の 1 つget_contentlimitです。

limit – 取得するコンテンツ エントリの数。limit <= 0 の場合、アカウントのデフォルトを取得します (認証されていないユーザーの場合は 25)。limit が None の場合、できるだけ多くのエントリをフェッチします(reddit はリクエストごとに最大 100 を返しますが、PRAW は必要に応じて追加のリクエストを自動的に行います)。

(強調を追加)。だから私のテストは:

 comments=subreddit.get_comments(limit=None)

そして、30 件以上のコメントを受け取りました (おそらく 100 件の制限ですが、手動で確認する必要があったため、30 件で十分だと思いました)。

于 2015-06-28T18:06:37.713 に答える