我正在尝试获取每个Reddit帖子的评论。
这是我用来获得天赋列表的方式:
import praw
import webbrowser
r = praw.Reddit('OAuth testing example by u/_Daimon_ ver 0.1 see '
'https://praw.readthedocs.org/en/latest/'
'pages/oauth.html for source')
r.set_oauth_app_info(client_id='[client id]',
client_secret='[client secret]',
redirect_uri='http://localhost/authorize_callback')
url = r.get_authorize_url('uniqueKey', 'modflair', True)
webbrowser.open(url)
然后我从返回的url中获取了代码,并将代码放入访问信息中,如下所示:
access_information = r.get_access_information('[returned code]')
然后,当我尝试像PRAW教程一样调用get_fliar_list()时,像这样:
item = next(r.get_subreddit('travel').get_flair_list())
它给了我一个错误,显示:
追踪(最近一次通话): 文件“”,第1行,in 在get_content中输入文件“/Library/Python/2.7/site-packages/praw-3.4.0-py2.7.egg/praw/init.py”,第565行 page_data = self.request_json(url,params = params) 在request_json中的文件“”,第2行 在raise_api_exceptions中输入文件“/Library/Python/2.7/site-packages/praw-3.4.0-py2.7.egg/praw/decorators.py”,第116行 return_value = function(* args,** kwargs) 在request_json中输入文件“/Library/Python/2.7/site-packages/praw-3.4.0-py2.7.egg/praw/init.py”,第620行 retry_on_error = retry_on_error) 在_request中输入文件“/Library/Python/2.7/site-packages/praw-3.4.0-py2.7.egg/praw/init.py”,第452行 _raise_response_exceptions(响应) 在_raise_response_exceptions中输入文件“/Library/Python/2.7/site-packages/praw-3.4.0-py2.7.egg/praw/internal.py”,第208行 提出禁止(_raw =回复) praw.errors.Forbidden:HTTP错误
以下是该PRAW教程的链接:PRAW tutorial
你知道如何解决这个问题吗?如何调用get_flair_list()来获取Reddit帖子的所有注释?
答案 0 :(得分:0)
这里可能会发生一些事情。
第一个问题(也是最有可能的)是你登录错了。
r = praw.Reddit('OAuth testing example by u/_Daimon_ ver 0.1 see '
'https://praw.readthedocs.org/en/latest/'
'pages/oauth.html for source')
不要这样,永远
即使此命令中的语法正确(您没有逗号),这也会使您的代码难以阅读。最可读的方法是r = praw.Reddit('OAuth-testing')
(OAuth-testing
位可以是您想要的任何内容,只要它与praw.ini
文件中的相同即可。),然后设置praw.ini
。 1}}文件:
[DEFAULT]
# A boolean to indicate whether or not to check for package updates.
check_for_updates=True
# Object to kind mappings
comment_kind=t1
message_kind=t4
redditor_kind=t2
submission_kind=t3
subreddit_kind=t5
# The URL prefix for OAuth-related requests.
oauth_url=https://oauth.reddit.com
# The URL prefix for regular requests.
reddit_url=https://www.reddit.com
# The URL prefix for short URLs.
short_url=https://redd.it
[OAuth-testing]
user_agent=USER-AGENT-HERE
username=REDDIT-ACCOUNT-USERNAME
password=REDDIT-ACCOUNT-PASSWORD
client_id=REDDIT-APP-CLIENT-ID
client_secret=REDDIT-APP-CLIENT-SECRET
正如附加说明一样,get_flair_list()
也需要主持人访问权限,如文档所述here
另外,你在底部问:
如何致电
get_flair_list()
获取Reddit帖子的所有评论?
这不是你如何获得帖子的所有评论,如果这是你想要做的,你可以在PRAW文档中阅读this tutorial。
如果您有任何其他问题,请不要对此答案发表评论,我或其他人可以回答!