python - 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')
解决方案
此代码将一直运行,直到页面具有类 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()
推荐阅读
- cassandra - 在 Cassandra 上如何启用 LDAP 身份验证
- angular - 如何检查图像链接的角度宽度和高度是否超过 1000
- javascript - 包装 react blackbox 块组件并添加 dom 监听器
- python - 使用 python 请求登录 mega.nz
- php - 根据是否选中复选框,使用 OR 语句创建 SQL 查询
- r - 在ggplot2中的每个方面注释组均值
- angular - Angular 7 Bootstrap 指令不加载
- java - 如何在Java中创建一个将继续运行算法直到成功的算法
- ruby-on-rails - 如何使用进行 API 调用的 Gem 测试 Rails 应用程序
- html - 使用 PowerShell 检索视频库中的项目