Python SQLite, проблема с хранением ключей с несколькими значениями - PullRequest
0 голосов
/ 02 февраля 2019

Я пытаюсь создать сценарий, который отслеживает эту ссылку для новых продуктов, загруженных на сайт, и, если обнаружен новый продукт с уникальным названием, он сохраняется в базе данных SQLite вместе сс размерами этого.Однако, когда я сохраняю его, он сохраняет только размер, а не все размеры продукта, this - это то, на что он похож.Я не понимаю, как хранить все размеры с одним ключом.Таким образом, если загружается новый продукт, он добавляет название продукта и все размеры.

Я попытался добавить размеры в список и запустить цикл for через этот список, но это не сработало.

import requests
from bs4 import BeautifulSoup
import json
import random
import sqlite3
import discord
import time
from discord_webhook import DiscordWebhook, DiscordEmbed

link = 'https://deadstock.ca/products.json'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'
}
def add_to_db(title, size):
    conn = sqlite3.connect('testing.db')
    cur = conn.cursor()
    cur.execute('''CREATE TABLE IF NOT EXISTS Keywordss (titles TEXT UNIQUE, sizes TEXT)''')
    alert = False
    try:
        cur.execute('INSERT INTO Keywordss (titles, sizes) VALUES (?, ?)', (title, size))
        print(title + ' JUST DROPPED' + time.asctime())

    except sqlite3.IntegrityError:
        pass
    conn.commit()
    cur.close()


def get_product():
    size_lst = []

    page = requests.get(link, headers=headers)
    try:
        jsn = page.json()
    except:
        print('the site has temp banned you')
    for product in jsn['products']:
        id = product['id']
        title = product['title']
        sizes = product['variants']
        for size in sizes:
            print(size)
            size = size['title']
            add_to_db(title, size)


get_product()

Я ожидаю, что он добавит название продукта в базу данных и все размеры вместе с ним.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...