2015-06-28 50 views
2

我試圖從subreddit刮所有評論。我找到了一個名爲PRAW的圖書館。舉例如何刮掉Reddit上的subreddit的所有評論?

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

但是,這隻返回最近的25條評論。我如何解析subreddit中的所有註釋?在Reddit界面上,有一個next按鈕,所以應該可以逐頁回顧歷史。

回答

2

the docs

見UnauthenticatedReddit.get_comments()爲完整的用法。

即函數具有*指定參數和** kwargs,函數調:

的其他參數直接通入get_content()。注意:url參數不能更改。

因此,我看着那個功能(找到它here)。 get_content的參數之一是限制

limit - 要獲取的內容條目的數量。如果限制< = 0,請爲您的帳戶獲取默認值(25位用於未經身份驗證的用戶)。 如果限制爲無,則儘可能多地獲取條目(reddit至多返回100個請求,但PRAW會根據需要自動提出額外的請求)。

(強調添加)。所以我的測試是:

comments=subreddit.get_comments(limit=None) 

而且我得到了30+的意見(可能是100的限制,但我不得不手動通過他們去,所以我認爲30是不夠的)。

+0

好的,我明白了,但是,我需要從一個subreddit獲得'所有'評論。我正在進行數據分析,至少需要10,000條評論。 – siamii

+0

正如文檔註釋,'(reddit至多返回100個請求,然而,PRAW會根據需要自動提出額外請求)。所以如果你不斷要求更多的數據,它會獲取更多。 – IronManMark20