2

StackExchange API を使用しようとしたところ、Python 用の Py-StackExchange ライブラリが見つかりました。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

私はWikiで次を見ましたが、私はプロキシを使用しておらず、コード バージョンは easy_install を通じて最新です。

これはおそらく、リクエスト ヘッダーを使用したプロキシ/ルーター マングリングの結果です。ルーター/プロキシが gzip データを要求するヘッダーを追加するが、それを解凍せず、gzip 圧縮を処理しない少し古いバージョンのコードを実行している可能性があります。この場合、ライブラリの最新バージョンに更新するだけです。

4

1 に答える 1