KeyError при парсинге AJAX(json).Python 3.6.2

Узнай цену своей работы

Формулировка задачи:

Всем привет, решил написать парсер на python одного сайта, где данные добавляются динамически с помощью javascript.И на раннем этапе написания появилась проблема. Пытаюсь добавить значения в список через цикл, код привел ниже. Если в цикле оставить только NaP.append(swap), то все работает, но с ключом ‘price’ проблема.Этот скрипт ранее я писал на PHP и там все работало.
Листинг программы
  1. #!C:\Users\Sasha1\AppData\local\Programs\Python\Python36-32\python.exe
  2. import sys
  3. import requests
  4. from bs4 import BeautifulSoup
  5. print ("Content-type: text/html\n")
  6. swap = requests.get('https://h1z1swap.com/api/inventory/bot').json()
  7. length = len(swap['items'])
  8. itemsCount = range(0,length)
  9. NaP = []
  10. for i in itemsCount:
  11. NaP.append(swap['items'][i]['price'])
  12. NaP.append(swap['items'][i]['marketName'])
  13. print(NaP)
Вот кусок из JSON страницы, там видно что ключи marketName и price есть, но с price почему то проблема
Листинг программы
  1. {"success":true,"items":[{"marketName":"Skull Hoodie","assetIds":["169271650161648522","169273228628675791","169278671559235740","169277879135954469","169275317986837427","169275974420544198","169273228632873684","169272276333623800","169273228643422938","169272276334020692","169272343076619250","169278671565276732","169273228637094580","169272276331416648","169275974420804142","169275974415904692","169272343071378571","169274358364531132","169277562749562718","169272343073552626","169272276329410829","169277879118138187","169272343082194513","169277562737576539","169278671569785981","169271650161474335","169263449094508991","169273228628599290","169272343092479691","169276290706677530","169272343086180623","169278354600277908","169276905791465339","169275974420388627","169277879147910518"],"image":"iGm5OjgdO5r8OoJ7TJjS39tTyGCTzzQwmWl1QPRXu8oaf69-NOHLAbqw_23aLe8AcRQ8-3uyKA7_CGvsJYds9U65FMF7i6AbXTJ8PDm57EliZdK7KLPuuh3dxC3m4m05gD06zfiP1MVjt5Cq5YiyCimcXB5aHZvQDjEc8f7q","quantity":35,"selectedAmount":0,"botId":1,"rarity":"skin","price":0.09}

Решение задачи: «KeyError при парсинге AJAX(json).Python 3.6.2»

textual
Листинг программы
  1. #!/usr/bin/env python3
  2. from json import JSONDecoder
  3.  
  4. t = '''\
  5. {
  6.    "success": true,
  7.    "items": [
  8.        {
  9.            "marketName": "Skull Hoodie",
  10.            "assetIds": [
  11.                "169271650161648522",
  12.                "169273228628675791",
  13.                "169278671559235740",
  14.                "169277879135954469",
  15.                "169275317986837427",
  16.                "169275974420544198",
  17.                "169273228632873684",
  18.                "169272276333623800",
  19.                "169273228643422938",
  20.                "169272276334020692",
  21.                "169272343076619250",
  22.                "169278671565276732",
  23.                "169273228637094580",
  24.                "169272276331416648",
  25.                "169275974420804142",
  26.                "169275974415904692",
  27.                "169272343071378571",
  28.                "169274358364531132",
  29.                "169277562749562718",
  30.                "169272343073552626",
  31.                "169272276329410829",
  32.                "169277879118138187",
  33.                "169272343082194513",
  34.                "169277562737576539",
  35.                "169278671569785981",
  36.                "169271650161474335",
  37.                "169263449094508991",
  38.                "169273228628599290",
  39.                "169272343092479691",
  40.                "169276290706677530",
  41.                "169272343086180623",
  42.                "169278354600277908",
  43.                "169276905791465339",
  44.                "169275974420388627",
  45.                "169277879147910518"
  46.            ],
  47.            "image": "iGm5OjgdO5r8OoJ7TJjS39tTyGCTzzQwmWl1QPRXu8oaf69-NOHLAbqw_23aLe8AcRQ8-3uyKA7_CGvsJYds9U65FMF7i6AbXTJ8PDm57EliZdK7KLPuuh3dxC3m4m05gD06zfiP1MVjt5Cq5YiyCimcXB5aHZvQDjEc8f7q",
  48.            "quantity": 35,
  49.            "selectedAmount": 0,
  50.            "botId": 1,
  51.            "rarity": "skin",
  52.            "price": 0.09
  53.        }
  54.    ]
  55. }
  56. '''
  57.  
  58. swap = JSONDecoder().decode(t)
  59. # swap = requests.get('https://h1z1swap.com/api/inventory/bot').json()
  60.  
  61. for i in swap['items']:
  62.     print(i['price'])
  63.     print(i['marketName'])

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.333 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут