Пустой массив на выходе
Хочу сделать парсер который привязан к телеграмм боту, ищет цены и когда скидка он кидает мне в телеграмм сообщение все работало просто хочется сделать по лучшее чтоб он все товары сам находил, я новичок в этой теме можете совет дать и помочь с этим пустым массивом
текст, выделенный жирным шрифтом
import telebot
import re
from selenium import webdriver
from time import sleep
PATH ="G:\chromedriver_win32\chromedriver"
driver = webdriver.Chrome(PATH)
bot = telebot.TeleBot("1662476330:AAHnhKA6EEiFraFOEd8TdS_Rsos4nCC0I_E")
@bot.message_handler(commands=['start'])
def start(message):
bot.send_message(message.chat.id, "Привет")
# 1) Ccылка 2) класс с именем 3) класс цены 4)фотки
classins =["product-title__text product-title--clamp","product-title__text product-title--clamp", "price__main-value price__main-value--old ng-star-inserted", "product-picture__img product-picture__img--grid ng-star-inserted"]
pricer_all = [160000, 0]
llink_bd_all = ["https://www.mvideo.ru/smartfony-i-svyaz-10/smartfony-205/f/category=iphone-914?reff=menu_main"]
llink_bd = [llink_bd_all]
values =[classins]
pricer_all_masiv = [pricer_all]
while True:
for i in range(len(values)):
link_mvideo = llink_bd[i][0]
driver.get(link_mvideo)
name_mvideo = driver.find_elements_by_class_name(values[i][1])
price_mvideo = driver.find_elements_by_class_name(values[i][2])
print(price_mvideo)
for n in range(len(pricer_all_masiv)):
price_mvideo = price_mvideo.text
price_m1 = price_mvideo # Создаем вторую переменную которая будет проверять сбросилась ли цена
price_m1 = re.sub('[\W_]+', '', price_m1) # Тут мы символы убираем лишние, в нашем случае рубль
price_m1 = int(price_m1) # тут мы из string вводим в int
price_m2 = int(pricer_all_masiv[n][0]) # Это начальная цена
if price_m1 < price_m2: # Проверяем если начальная цена больше чем нынешняя, то входим в конструкцию
name_mvideo = name_mvideo.text
price_mvideo = " Цена: " + price_mvideo #чтобы знак рубля сохранился я подумал взять самую первую переменную
link_m = " Ссылка на товар:" + link_mvideo # Тут ничего особенного
dorm_mvideo = name_mvideo + price_mvideo + link_m # Создаем переменную общак в ней заключается все так удобнее, потому что иначе бот будет отправлять по одному сообщению
if pricer_all_masiv[n][1] == price_m1:
print('Скидка неизменилась')
else:
if (price_m2 - price_m1 > 15000 ): # Распродажа
pricer_all_masiv[n][1] = price_m1
bot.send_photo(message.chat.id,photo=values[i][3], caption = " РАСПРОДАЖА " + dorm_mvideo) # тут мы хорошую хитрость использовали в методе для отправки фоток
else:
pricer_all_masiv[n][1] = price_m1
bot.send_photo(message.chat.id,photo=values[i][3], caption = dorm_mvideo) # тут мы хорошую хитрость использовали в методе для отправки фоток
else:
print('Никаких скидок нет')