Я не могу запросить, если продукт доступен из файла /products.json shopify - PullRequest
0 голосов
/ 04 мая 2020

Я пытаюсь запрограммировать монитор пополнения запасов. Для этого я хочу преобразовать файл. json магазина shopify, но для доступной части я всегда получаю ошибку: (

import bs4 as bs
import urllib.request
import discord
from discord.ext import commands
from dhooks import Webhook
import requests
import json

r = requests.get("https://www.antisocialsocialclub.com/products.json")
products = json.loads((r.text))["products"]

for product in products:
    print(product["title"])
    print(product["tags"])
    print(product["published_at"])
    print(product["created_at"])
    print(product["product_type"])
    print(product["available"])

Я получаю ошибку:

Traceback (most recent call last):
  File "/Users/valentinwestermann/Documents/La dieta mediterranea_dhooks.py", line 20, in <module>
    print(product["available"])
KeyError: 'available'

1 Ответ

0 голосов
/ 04 мая 2020

Структура JSON не совсем то, что вы могли ожидать. Клавиша available находится в элементах, возвращаемых в виде списка из клавиши variant. Таким образом, чтобы найти наличие, вы должны обработать каждый вариант:

import requests
import json

r = requests.get("https://www.antisocialsocialclub.com/products.json")
products = json.loads((r.text))["products"]

for product in products:

    print(product["id"])
    print(product["title"])
    print(product["tags"])
    print(product["published_at"])
    print(product["created_at"])
    print(product["product_type"])
    for variant in product["variants"]:
        print(variant['available'])

Вот первый вывод продукта:

4508425453643
Broken Ankle White Socks
['SS20']
2020-03-27T20:29:52-07:00
2020-03-27T20:29:52-07:00

False
...