Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Py StackExchange引发值错误_Python_Stackexchange Api - Fatal编程技术网

Python Py StackExchange引发值错误

Python Py StackExchange引发值错误,python,stackexchange-api,Python,Stackexchange Api,我尝试使用StackExchangeAPI,找到了Py StackExchange Python库。我通过Windows中的easy_install安装了它 代码如下: from stackexchange import Site, StackOverflow so = Site(StackOverflow) my_favourite_guy = so.user(2309097) print my_favourite_guy.reputation.format() print len(my_f

我尝试使用StackExchangeAPI,找到了Py StackExchange Python库。我通过Windows中的easy_install安装了它

代码如下:

from stackexchange import Site, StackOverflow

so = Site(StackOverflow)
my_favourite_guy = so.user(2309097)
print my_favourite_guy.reputation.format()
print len(my_favourite_guy.answers), 'answers'
下面是错误:

Traceback (most recent call last):
  File "C:\Users\Tasos\Desktop\test - Copy.py", line 8, in <module>
    my_favourite_guy = so.user(2309097)
  File "build\bdist.win-amd64\egg\stackexchange\__init__.py", line 626, in user
    u, = self.users((nid,), **kw)
  File "build\bdist.win-amd64\egg\stackexchange\__init__.py", line 631, in users
    return self._get(User, ids, 'users', kw)
  File "build\bdist.win-amd64\egg\stackexchange\__init__.py", line 621, in _get
    return self.build(root, typ, coll, kw)
  File "build\bdist.win-amd64\egg\stackexchange\__init__.py", line 598, in build
    json = self._request(url, kw)
  File "build\bdist.win-amd64\egg\stackexchange\__init__.py", line 570, in _request
    json, info = request_mgr.json_request(url, new_params)
  File "build\bdist.win-amd64\egg\stackexchange\web.py", line 120, in json_request
    return (json.loads(req.data), req.info)
  File "C:\Python27\lib\json\__init__.py", line 338, in loads
    return _default_decoder.decode(s)
  File "C:\Python27\lib\json\decoder.py", line 365, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "C:\Python27\lib\json\decoder.py", line 383, in raw_decode
    raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
回溯(最近一次呼叫最后一次):
文件“C:\Users\Tasos\Desktop\test-Copy.py”,第8行,在
my_Favorite_guy=so.user(2309097)
文件“build\bdist.win-amd64\egg\stackexchange\\uuuuu init\uuuu.py”,第626行,在用户界面中
u、 =自身用户((nid,),**kw)
文件“build\bdist.win-amd64\egg\stackexchange\\uuuuu init\uuuuu.py”,第631行,在用户中
返回self.\u get(用户,ID,'users',kw)
文件“build\bdist.win-amd64\egg\stackexchange\\ uuuuu init\uuuuu.py”,第621行,in\u get
返回自构建(根、典型、coll、kw)
文件“build\bdist.win-amd64\egg\stackexchange\\uuuuu init\uuuu.py”,第598行,内部版本
json=self.\u请求(url,kw)
文件“build\bdist.win-amd64\egg\stackexchange\\ uuuuu init\uuuu.py”,第570行,在请求中
json,info=request\u mgr.json\u request(url,新参数)
json_请求中的文件“build\bdist.win-amd64\egg\stackexchange\web.py”,第120行
返回(json.loads(req.data)、req.info)
文件“C:\Python27\lib\json\\ uuuuu init\uuuuuu.py”,第338行,加载
返回\u默认\u解码器。解码
文件“C:\Python27\lib\json\decoder.py”,第365行,解码
obj,end=self.raw\u decode(s,idx=\u w(s,0.end())
文件“C:\Python27\lib\json\decoder.py”,第383行,原始解码
raise VALUERROR(“无法解码JSON对象”)
ValueError:无法解码任何JSON对象
我看到了以下内容,但我不使用任何代理,代码版本是通过easy_install获得的最新版本:

这可能是某些代理/路由器与请求冲突的结果 标题。可能是您的路由器/代理添加了请求头 gzip数据,但不解压缩它,并且您正在运行 稍旧的代码版本,不处理gzip 压缩。在这种情况下,只需更新到 图书馆

该版本已经过时(2011年发布),仍然使用API版本1.1,该版本已经发布

已更新为使用API v2.2,请直接安装:

pip install git+https://github.com/lucjon/Py-StackExchange
或者使用
easy\u install
,下载当前主zip文件:

easy_install https://github.com/lucjon/Py-StackExchange/archive/640eac1525baaf57474ddbc3be2b580f00e4f1e8.zip
要获得列出的答案,您需要调用
.fetch()

这仅获取答案的第一页:

>>> from stackexchange import Site, StackOverflow
>>> so = Site(StackOverflow)
>>> my_favourite_guy = so.user(2309097)
>>> print my_favourite_guy.reputation.format()
563
>>> print len(my_favourite_guy.answers.fetch()), 'answers'
19 answers
>>> my_favourite_guy = so.user(100297)
>>> print my_favourite_guy.reputation.format()
251.2k
>>> print len(my_favourite_guy.answers.fetch()), 'answers'
30 answers

上次检查时,我有30多个答案。使用
.extend_next()
调用获取下一个查询集,直到查询集用完为止。

返回。@MartijnPieters这意味着库目前没有用处,因为它使用的是旧的api版本?PyPI版本确实没有用处;改为从GitHub安装。
>>> from stackexchange import Site, StackOverflow
>>> so = Site(StackOverflow)
>>> my_favourite_guy = so.user(2309097)
>>> print my_favourite_guy.reputation.format()
563
>>> print len(my_favourite_guy.answers.fetch()), 'answers'
19 answers
>>> my_favourite_guy = so.user(100297)
>>> print my_favourite_guy.reputation.format()
251.2k
>>> print len(my_favourite_guy.answers.fetch()), 'answers'
30 answers