KeyError при парсинге AJAX(json).Python 3.6.2 - Python
Формулировка задачи:
Всем привет, решил написать парсер на python одного сайта, где данные добавляются динамически с помощью javascript.И на раннем этапе написания появилась проблема. Пытаюсь добавить значения в список через цикл, код привел ниже.
Если в цикле оставить только NaP.append(swap), то все работает, но с ключом ‘price’ проблема.Этот скрипт ранее я писал на PHP и там все работало.
#!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)
Вот кусок из JSON страницы, там видно что ключи marketName и price есть, но с price почему то проблема
{"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 - Python»
#!/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'])
9 голосов, оценка 4.333 из 5
СОХРАНИТЬ ССЫЛКУ