Оператор IF ELSE запускается каждые 3 минуты - PullRequest
1 голос
/ 07 мая 2020

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

Как это может выполняться каждые 3 минуты, где, если нет в наличии, затем повторите попытку через 3 минуты. Если товар есть в наличии, завершите оператор IF.

import requests
from bs4 import BeautifulSoup
#enter link
URL = '<link>'
page = requests.get(URL)

def stock_check():
    soup = BeautifulSoup(page.content, 'html.parser')
    StockQuery = soup.find("div", {"class": "add-to-basket-btn"})
print('Available')

1 Ответ

1 голос
/ 07 мая 2020

Этот код будет выполняться до тех пор, пока на странице не появится div с классом add-to-basket-btn, в противном случае он подождет 3 минуты и попытается снова.

import requests
from bs4 import BeautifulSoup
import time

URL = '<link>'

def stock_check():
    while True:
        page = requests.get(URL)
        soup = BeautifulSoup(page.content, 'html.parser')
        stockQuery = soup.findAll("div", {"class": "add-to-basket-btn"})
        if stockQuery:
            break
        else:
            time.sleep(180)
    print('Available')
stock_check()
...