Requests: json() рдПрдХ JSONDecodeError рдХреЗ рд╕рд╛рде рджреБрднрд╛рд╖рд┐рдпрд╛ рдХреЛ рдХреНрд░реИрд╢ рдХрд░рддрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 13 рд╕рд┐рддре░ 2017  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: psf/requests

рдореИрдВрдиреЗ рдЗрд╕реЗ рдЕрдиреБрд░реЛрдз v. 2.18.4 рдФрд░ 2.14.2 рдХреЗ рд╕рд╛рде, Python 3.6.1 рдФрд░ 3.6.2 рдХреЗ рд╕рд╛рде рдкреБрди: рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рд╣реИред рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо-рд╕реНрдерд╛рдкрд┐рдд рдкрд╛рдпрдерди/рдЕрдиреБрд░реЛрдзреЛрдВ (рдкрд╛рдпрдерди 3.6.1 рдХреЗ рд╕рд╛рде рдореИрдХреЛрдЬрд╝ рд╕рд┐рдПрд░рд╛ рдХреЛ python.org рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рд╣реИ), рдХреЛрдВрдбрд╛ 4.3.25 рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдкрд╛рдпрдерди/рдЕрдиреБрд░реЛрдз, рдФрд░ рдирд╡реАрдирддрдо рдкрд╛рдпрдерди рдФрд░ рдХреЛрдВрдбрд╛-рдлреЛрд░реНрдЬ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИред

рд╣рд░ рдЬрдЧрд╣ рд╕рдорд╛рди рдкрд░рд┐рдгрд╛рдоред

рдЕрдкреЗрдХреНрд╖рд┐рдд рдкрд░рд┐рдгрд╛рдо

рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, JSON рдорд╛рдиреЛрдВ рдХрд╛ рд╢рдмреНрджрдХреЛрд╢ рджреЗрдЦрдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИ: http://docs.python-requests.org/en/master/

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рдгрд╛рдо

рдкрд╛рдпрдерди рджреБрднрд╛рд╖рд┐рдпрд╛ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрддред

рдкреНрд░рдЬрдирди рдХрджрдо

Python 3.6.2 | packaged by conda-forge | (default, Jul 23 2017, 23:01:38) 
[GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
>>> r = requests.get('https://pypi.python.org/pypi')
>>> r.status_code
200
>>> r.encoding
'utf-8'
>>> r.json()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/psimpson/miniconda3/envs/test/lib/python3.6/site-packages/requests/models.py", line 892, in json
    return complexjson.loads(self.text, **kwargs)
  File "/Users/psimpson/miniconda3/envs/test/lib/python3.6/json/__init__.py", line 354, in loads
    return _default_decoder.decode(s)
  File "/Users/psimpson/miniconda3/envs/test/lib/python3.6/json/decoder.py", line 339, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/Users/psimpson/miniconda3/envs/test/lib/python3.6/json/decoder.py", line 357, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

рд╡реНрдпрд╡рд╕реНрдерд╛ рдЬрд╛рдирдХрд╛рд░реА

$ python -m requests.help
{
  "chardet": {
    "version": "3.0.4"
  },
  "cryptography": {
    "version": "2.0.3"
  },
  "idna": {
    "version": ""
  },
  "implementation": {
    "name": "CPython",
    "version": "3.6.2"
  },
  "platform": {
    "release": "16.7.0",
    "system": "Darwin"
  },
  "pyOpenSSL": {
    "openssl_version": "100020cf",
    "version": "17.2.0"
  },
  "requests": {
    "version": "2.18.4"
  },
  "system_ssl": {
    "version": "100020cf"
  },
  "urllib3": {
    "version": "1.22"
  },
  "using_pyopenssl": true
}

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдЕрд░реЗ @justlurking , рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдЕрдиреБрд░реВрдк рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред .json() рд╡рд┐рдзрд┐ рдХреЗрд╡рд▓ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рд╛рдордЧреНрд░реА рдкрд░ рдкреНрд░рдпреЛрдЧ рдпреЛрдЧреНрдп рд╣реИ рдЬреЛ рдХрд┐ json рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╣реИред рдЖрдк рдЬрд┐рд╕ рд╡реЗрдмрдкреЗрдЬ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рдПрдХ HTML рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд▓реМрдЯрд╛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рд╡рд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

рдЖрдкрдХреЛ рдпрд╛ рддреЛ рдЕрдкрдиреЗ рдПрдХреНрд╕реЗрдкреНрдЯ рд╣реЗрдбрд░ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рд╡реИрдз рдЬреЗрд╕рди рдбреЗрдЯрд╛ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЕрд░реЗ @justlurking , рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдЕрдиреБрд░реВрдк рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред .json() рд╡рд┐рдзрд┐ рдХреЗрд╡рд▓ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рд╛рдордЧреНрд░реА рдкрд░ рдкреНрд░рдпреЛрдЧ рдпреЛрдЧреНрдп рд╣реИ рдЬреЛ рдХрд┐ json рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╣реИред рдЖрдк рдЬрд┐рд╕ рд╡реЗрдмрдкреЗрдЬ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рдПрдХ HTML рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд▓реМрдЯрд╛ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рд╡рд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

рдЖрдкрдХреЛ рдпрд╛ рддреЛ рдЕрдкрдиреЗ рдПрдХреНрд╕реЗрдкреНрдЯ рд╣реЗрдбрд░ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рд╡реИрдз рдЬреЗрд╕рди рдбреЗрдЯрд╛ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛

рд╕реБрдкрд░ рддреНрд╡рд░рд┐рдд рдФрд░ рд╕реВрдЪрдирд╛рддреНрдордХ рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдФрд░ рдЕрдкрдирд╛ рд╕рдордп рдмрд░реНрдмрд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдореБрдЭреЗ рдпрд╣ рдорд╣рд╕реВрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ рдХрд┐ рдпрд╣ рдРрд╕рд╛ рдХреБрдЫ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдореИрдВрдиреЗ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдП рдЧрдП рдХрдИ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдФрд░ рдЧрд┐рдЯрд╣рдм рдкрд░ рдЪрд┐рд▓реНрд▓рд╛рд╣рдЯ рдХреА рдХрдореА рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рджрд┐рдпрд╛ рд╣реЛред рдореИрдВ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рдмрд╛рдд рдпрд╣ рд╣реЛрдЧреА рдХрд┐ json.JSONDecodeError рдЖрдпрд╛рдд рдХрд░реЗрдВ рдФрд░ рдРрд╕рд╛ рдХреБрдЫ рдХрд░реЗрдВ?

try:
    r.json()
except JSONDecodeError as e:
    <handle exception>

рддреЛ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ ValueError рдХрд╛ рдЙрдкрд╡рд░реНрдЧ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рдЖрдпрд╛рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдЗрд╕реЗ рдкрдХрдбрд╝ рдкрд╛рдПрдВрдЧреЗред рдпрд╣ рдЖрдк рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдХрд┐рд╕ рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ рдХреЗ рд╕реНрддрд░ рдХреЛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рд╡рд╣ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдЪрд╛рд░ рд╡рд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИ рдЬрд┐рд╕рдХрд╛ рдореИрдВ рд╕реБрдЭрд╛рд╡ рджреВрдВрдЧрд╛ред рдЙрдореНрдореАрдж рд╣реИ рдХреА рд╡реЛ рдорджрдж рдХрд░рджреЗ!

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

Gonzalliz picture Gonzalliz  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

cnicodeme picture cnicodeme  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

iLaus picture iLaus  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

xsren picture xsren  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

8key picture 8key  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ