Python 使用PRAW时出现的问题(搜索和发布)

Python 使用PRAW时出现的问题(搜索和发布),python,reddit,praw,Python,Reddit,Praw,我正试图用PRAW为RedditAPI编写一个python库小程序,我正在搜索并发布Reddit希腊文内容 例如,我有以下功能: def find_if_posted(usr, title, url): for content in usr.search(title): return True for content in usr.search(url): return True return False 它尝试搜索是否有具有相同标题或u

我正试图用PRAW为RedditAPI编写一个python库小程序,我正在搜索并发布Reddit希腊文内容

例如,我有以下功能:

def find_if_posted(usr, title, url):
    for content in usr.search(title):
        return True
    for content in usr.search(url):
        return True
    return False
它尝试搜索是否有具有相同标题或url的帖子。usr是reddit PRAW对象。当它开始使用url搜索时,我得到了错误信息:

Traceback (most recent call last):
  File "C:\Users\hargikas\Dropbox\Private\src\reddit\auto_poster\leftist.py", line 133, in <module>
    while (key is None) or find_if_posted(usr, key, content[key]):
  File "C:\Users\hargikas\Dropbox\Private\src\reddit\auto_poster\leftist.py", line 86, in find_if_posted
    for content in usr.search(url):
  File "C:\Python34\lib\site-packages\praw\__init__.py", line 1108, in search
    **kwargs):
  File "C:\Python34\lib\site-packages\praw\__init__.py", line 515, in get_content
    root = page_data.get(root_field, page_data)
AttributeError: 'str' object has no attribute 'get'
回溯(最近一次呼叫最后一次):
文件“C:\Users\hargikas\Dropbox\Private\src\reddit\auto\u poster\leftist.py”,第133行,在
while(key为None)或find_if_post(usr,key,content[key]):
文件“C:\Users\hargikas\Dropbox\Private\src\reddit\auto\u poster\leftist.py”,第86行,在find\u if\u post中
有关usr.search(url)中的内容:
文件“C:\Python34\lib\site packages\praw\\uuuuu init\uuuuuuu.py”,第1108行,搜索中
**kwargs):
文件“C:\Python34\lib\site packages\praw\\uuuuu init\uuuuuu.py”,第515行,在get\u content中
root=page\u data.get(root\u字段,page\u数据)
AttributeError:“str”对象没有属性“get”
此外,当我试图发布某些内容(使用提交功能)时,我会出现以下错误:

Traceback (most recent call last):
  File "C:\Python34\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 372, in _make_request
    httplib_response = conn.getresponse(buffering=True)
TypeError: getresponse() got an unexpected keyword argument 'buffering'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Python34\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 544, in urlopen
    body=body, headers=headers)
  File "C:\Python34\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 374, in _make_request
    httplib_response = conn.getresponse()
  File "C:\Python34\lib\http\client.py", line 1162, in getresponse
    raise ResponseNotReady(self.__state)
http.client.ResponseNotReady: Request-sent

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Python34\lib\site-packages\requests\adapters.py", line 370, in send
    timeout=timeout
  File "C:\Python34\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 597, in urlopen
    _stacktrace=sys.exc_info()[2])
  File "C:\Python34\lib\site-packages\requests\packages\urllib3\util\retry.py", line 245, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "C:\Python34\lib\site-packages\requests\packages\urllib3\packages\six.py", line 309, in reraise
    raise value.with_traceback(tb)
  File "C:\Python34\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 544, in urlopen
    body=body, headers=headers)
  File "C:\Python34\lib\site-packages\requests\packages\urllib3\connectionpool.py", line 374, in _make_request
    httplib_response = conn.getresponse()
  File "C:\Python34\lib\http\client.py", line 1162, in getresponse
    raise ResponseNotReady(self.__state)
requests.packages.urllib3.exceptions.ProtocolError: ('Connection aborted.', ResponseNotReady('Request-sent',))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\hargikas\Dropbox\Private\src\reddit\auto_poster\leftist.py", line 140, in <module>
    usr.submit('greekreddit' , key, url=content[key])
  File "C:\Python34\lib\site-packages\praw\decorators.py", line 338, in wrapped
    return function(cls, *args, **kwargs)
  File "C:\Python34\lib\site-packages\praw\decorators.py", line 237, in wrapped
    return function(obj, *args, **kwargs)
  File "C:\Python34\lib\site-packages\praw\__init__.py", line 2218, in submit
    retry_on_error=False)
  File "C:\Python34\lib\site-packages\praw\decorators.py", line 163, in wrapped
    return_value = function(reddit_session, *args, **kwargs)
  File "C:\Python34\lib\site-packages\praw\__init__.py", line 561, in request_json
    retry_on_error=retry_on_error)
  File "C:\Python34\lib\site-packages\praw\__init__.py", line 402, in _request
    response = handle_redirect()
  File "C:\Python34\lib\site-packages\praw\__init__.py", line 375, in handle_redirect
    timeout=timeout, **kwargs)
  File "C:\Python34\lib\site-packages\praw\handlers.py", line 144, in wrapped
    result = function(cls, **kwargs)
  File "C:\Python34\lib\site-packages\praw\handlers.py", line 54, in wrapped
    return function(cls, **kwargs)
  File "C:\Python34\lib\site-packages\praw\handlers.py", line 99, in request
    allow_redirects=False)
  File "C:\Python34\lib\site-packages\requests\sessions.py", line 573, in send
    r = adapter.send(request, **kwargs)
  File "C:\Python34\lib\site-packages\requests\adapters.py", line 415, in send
    raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', ResponseNotReady('Request-sent',))
回溯(最近一次呼叫最后一次):
文件“C:\Python34\lib\site packages\requests\packages\urllib3\connectionpool.py”,第372行,在请求中
httplib_response=conn.getresponse(缓冲=True)
TypeError:getresponse()获得意外的关键字参数“buffering”
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“C:\Python34\lib\site packages\requests\packages\urlib3\connectionpool.py”,第544行,在urlopen中
正文=正文,标题=标题)
文件“C:\Python34\lib\site packages\requests\packages\urllib3\connectionpool.py”,第374行,在请求中
httplib_response=conn.getresponse()
getresponse中第1162行的文件“C:\Python34\lib\http\client.py”
提升响应状态(自身状态)
http.client.responseNodeTready:已发送请求
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“C:\Python34\lib\site packages\requests\adapters.py”,第370行,在send中
超时=超时
文件“C:\Python34\lib\site packages\requests\packages\urllib3\connectionpool.py”,第597行,在urlopen中
_stacktrace=sys.exc_info()[2])
文件“C:\Python34\lib\site packages\requests\packages\urllib3\util\retry.py”,第245行,增量
升起六个。重新升起(类型(错误),错误,_stacktrace)
文件“C:\Python34\lib\site packages\requests\packages\urllib3\packages\six.py”,第309行,重新登录
通过_回溯(tb)提升值
文件“C:\Python34\lib\site packages\requests\packages\urlib3\connectionpool.py”,第544行,在urlopen中
正文=正文,标题=标题)
文件“C:\Python34\lib\site packages\requests\packages\urllib3\connectionpool.py”,第374行,在请求中
httplib_response=conn.getresponse()
getresponse中第1162行的文件“C:\Python34\lib\http\client.py”
提升响应状态(自身状态)
requests.packages.urllib3.exceptions.ProtocolError:(“连接已中止”)、ResponseNodeTready(“请求已发送”))
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“C:\Users\hargikas\Dropbox\Private\src\reddit\auto\u poster\leftist.py”,第140行,在
usr.submit('greekreddit',key,url=content[key])
文件“C:\Python34\lib\site packages\praw\decorators.py”,第338行,包装为
返回函数(cls、*args、**kwargs)
文件“C:\Python34\lib\site packages\praw\decorators.py”,第237行,包装为
返回函数(obj、*args、**kwargs)
文件“C:\Python34\lib\site packages\praw\\uuuu init\uuuuuu.py”,第2218行,提交
重试(错误=False)
文件“C:\Python34\lib\site packages\praw\decorators.py”,第163行,包装为
return_value=函数(reddit_会话,*args,**kwargs)
文件“C:\Python34\lib\site packages\praw\\uuuuu init\uuuuuu.py”,第561行,在request\u json中
重试错误=重试错误)
文件“C:\Python34\lib\site packages\praw\\uuuuu init\uuuuuuu.py”,第402行,在请求中
response=handle\u redirect()
文件“C:\Python34\lib\site packages\praw\\uuuuu init\uuuuuuu.py”,第375行,在handle\u重定向中
超时=超时,**kwargs)
文件“C:\Python34\lib\site packages\praw\handlers.py”,第144行,包装为
结果=功能(cls,**kwargs)
文件“C:\Python34\lib\site packages\praw\handlers.py”,第54行,包装为
返回函数(cls,**kwargs)
请求中第99行的文件“C:\Python34\lib\site packages\praw\handlers.py”
允许(U重定向=错误)
文件“C:\Python34\lib\site packages\requests\sessions.py”,第573行,在send中
r=适配器.send(请求,**kwargs)
文件“C:\Python34\lib\site packages\requests\adapters.py”,第415行,在send中
raise CONNECTIONERR(错误,请求=请求)
requests.exceptions.ConnectionError:(“连接已中止”)、ResponseNodeTready(“请求已发送”))
当我使用imgur.com或其他“英语”网站的参数进行搜索时,没有发现任何错误。但是当我在希腊网站上使用它,或者发布希腊内容时,我会发现上面的错误

你知道我做错了什么吗?我是PRAW的新手,所以任何评论都非常感谢。我正在win32和PRAW版本上使用Python3.4.3(v3.4.3:9b73f1c3e601,2015年2月24日,22:43:06)[MSC v.1600 32位(英特尔)]:2.1.21

提前谢谢你!
Harry

您在每个字段中输入了什么文本?还有,你以前能运行这个程序吗?你的用户代理是什么?您是否经常使用普通帐户访问reddit.com本身?@user1362215感谢您的快速回复。我以前的程序只是为特定用户创建统计数据。不发布或搜索。我的用户代理是:'u/leftist的自动海报'。有关函数find_if_posted的更多信息:尝试使用存在的URL:并且我得到了正确的响应。试着用这个:我得到了错误。