我试图写一个redditbot;我决定从一个简单的开始,以确保我正确地做事情,并且我得到了一个RequestException。PRAW提高RequestException当我尝试运行简单的机器人
我的代码(bot.py):
import praw
for s in praw.Reddit('bot1').subreddit("learnpython").hot(limit=5):
print s.title
我praw.ini文件:
# 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
[bot1]
client_id=HIDDEN
client_secret=HIDDEN
password=HIDDEN
username=HIDDEN
user_agent=ILovePythonBot0.1
(其中隐藏代替实际的ID,秘密,密码和用户名)
我的回溯:
Traceback (most recent call last):
File "bot.py", line 3, in <module>
for s in praw.Reddit('bot1').subreddit("learnpython").hot(limit=5):
File "/usr/local/lib/python2.7/dist-packages/praw/models/listing/generator.py", line 79, in next
return self.__next__()
File "/usr/local/lib/python2.7/dist-packages/praw/models/listing/generator.py", line 52, in __next__
self._next_batch()
File "/usr/local/lib/python2.7/dist-packages/praw/models/listing/generator.py", line 62, in _next_batch
self._listing = self._reddit.get(self.url, params=self.params)
File "/usr/local/lib/python2.7/dist-packages/praw/reddit.py", line 322, in get
data = self.request('GET', path, params=params)
File "/usr/local/lib/python2.7/dist-packages/praw/reddit.py", line 406, in request
params=params)
File "/usr/local/lib/python2.7/dist-packages/prawcore/sessions.py", line 131, in request
params=params, url=url)
File "/usr/local/lib/python2.7/dist-packages/prawcore/sessions.py", line 70, in _request_with_retries
params=params)
File "/usr/local/lib/python2.7/dist-packages/prawcore/rate_limit.py", line 28, in call
response = request_function(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/prawcore/requestor.py", line 48, in request
raise RequestException(exc, args, kwargs)
prawcore.exceptions.RequestException: error with request request() got an unexpected keyword argument 'json'
任何帮助,将不胜感激。 PS,我在Ubuntu 14.04上使用Python 2.7。请向我咨询您可能需要的任何其他信息。
这很奇怪。你有什么版本的prawcore,prawcore和请求:将PACKAGE替换为每个版本的名称以从PACKAGE import __version__获取版本:'python -c'; print(__ version __)''我的直觉是你有一个旧版本的请求不支持这个参数。但是,如果使用pip来安装praw,那应该是不可能的。你是如何安装praw的? – bboe
@bboe我正在使用: praw 4.1.0 prawcore 0.5.0 请求2.2.1 我用pip安装了praw。 – CoffeeTableEspresso
这真的很有趣,因为prawcore依赖于'requests> = 2.9.1',因此pip不会成功安装该版本的PRAW。尝试'pip install -U praw'并查看它是否改变了请求版本。 – bboe