首页 > 解决方案 > IF ELSE 语句每 3 分钟运行一次

问题描述

我编写了下面的脚本来检查一个项目是否可用于“添加到购物篮”,但它只运行一次,直到我再次运行该脚本。

这怎么能每 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')

标签: pythonif-statementbeautifulsoup

解决方案


此代码将一直运行,直到页面具有类 add-to-basket-btn 的 div,如果没有,它将等待 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()

推荐阅读