Алгоритм генерации словаря
Здраствуйте помогите мне пожалуйста, я делаю бота парсера, который парсит все работает, ну у меня появилась идея сделать не вручную , а чтобы он автоматический парсил и кидал в словарь и так же добавлял новое значение, ну как я могу создать несколько словарей внутри данного словаря и чтобы цикл все правильно работал?
import telebot
import re
from selenium import webdriver
from time import sleep
PATH ="G:\chromedriver_win32\chromedriver"
driver = webdriver.Chrome(PATH)
bot = telebot.TeleBot("1516117541:AAGijjDkTvsD_6nWCe4azJniEs_RlYUQvP8")
@bot.message_handler(commands=['start'])
def start(message):
bot.send_message(message.chat.id, "Привет")
# 1) Ccылка 2) цена начальная 3) по умолчанию ноль обьязательно 4) класс с именем 5) класс цены 6)фотки
iphone12gold ={'1' :'https://www.mvideo.ru/products/smartfon-apple-iphone-12-pro-max-256gb-gold-mgde3ru-a-30052918', '2' : 160000, '3' : 0, '4' : "fl-h1", '5': "fl-pdp-price__current", '6' : 'https://img.mvideo.ru/Pdb/30052918b.jpg'}
iphone12black ={'1' :'https://www.mvideo.ru/products/smartfon-apple-iphone-12-pro-max-128gb-pacific-blue-mgda3ru-a-30052915','2' : 130000, '3' : 0, '4': "fl-h1", '5' : "fl-pdp-price__current", '6' :"https://img.mvideo.ru/Pdb/30052915b.jpg"}
values =[iphone12gold,iphone12black] #
while True:
for i in range(len(values)):
link_mvideo = values[i]['1']
driver.get(link_mvideo)
name_mvideo = driver.find_elements_by_class_name(values[i]['4'])[0].text
price_mvideo = driver.find_elements_by_class_name(values[i]['5'])[0].text
print(price_mvideo)
price_m1 = price_mvideo # Создаем вторую переменную которая будет проверять сбросилась ли цена
price_m1 = re.sub('[\W_]+', '', price_m1) # Тут мы символы убираем лишние, в нашем случае рубль
price_m1 = int(price_m1) # тут мы из string вводим в int
price_m2 = int(values[i]['2']) # Это начальная цена
if price_m1 < price_m2: # Проверяем если начальная цена больше чем нынешняя, то входим в конструкцию
price_mvideo = " Цена: " + price_mvideo #чтобы знак рубля сохранился я подумал взять самую первую переменную
link_m = " Ссылка на товар:" + link_mvideo # Тут ничего особенного
dorm_mvideo = name_mvideo + price_mvideo + link_m #
if values[i]['3'] == price_m1:
print('Скидка неизменилась')
else:
if (price_m2 - price_m1 > 15000 ): # Распродажа
values[i]['3']= price_m1
bot.send_photo(message.chat.id,photo=values[i]['6'], caption = " РАСПРОДАЖА " + dorm_mvideo) # тут мы хорошую хитрость использовали в методе для отправки фоток
else:
values[i]['3']= price_m1
bot.send_photo(message.chat.id,photo=values[i]['6'], caption = dorm_mvideo) # тут мы хорошую хитрость использовали в методе для отправки фоток
else:
print('Никаких скидок нет')
bot.polling()