KeyError при парсинге AJAX(json).Python 3.6.2
Формулировка задачи:
Всем привет, решил написать парсер на python одного сайта, где данные добавляются динамически с помощью javascript.И на раннем этапе написания появилась проблема. Пытаюсь добавить значения в список через цикл, код привел ниже.
Если в цикле оставить только NaP.append(swap), то все работает, но с ключом ‘price’ проблема.Этот скрипт ранее я писал на PHP и там все работало.
Вот кусок из JSON страницы, там видно что ключи marketName и price есть, но с price почему то проблема
Листинг программы
- #!C:\Users\Sasha1\AppData\local\Programs\Python\Python36-32\python.exe
- import sys
- import requests
- from bs4 import BeautifulSoup
- print ("Content-type: text/html\n")
- swap = requests.get('https://h1z1swap.com/api/inventory/bot').json()
- length = len(swap['items'])
- itemsCount = range(0,length)
- NaP = []
- for i in itemsCount:
- NaP.append(swap['items'][i]['price'])
- NaP.append(swap['items'][i]['marketName'])
- print(NaP)
Листинг программы
- {"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
Листинг программы
- #!/usr/bin/env python3
- from json import JSONDecoder
- t = '''\
- {
- "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
- }
- ]
- }
- '''
- swap = JSONDecoder().decode(t)
- # swap = requests.get('https://h1z1swap.com/api/inventory/bot').json()
- for i in swap['items']:
- print(i['price'])
- print(i['marketName'])
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д