使用 curl 和 grep 检查商品是否有库存的状态



目前我正在尝试创建一个将在 Linux ubuntu 服务器上运行的脚本,该脚本将通过查看是否启用了"添加到购物车"提交按钮,每 6 小时检查一次商品是否有库存。但是,我似乎无法弄清楚如何使用 grep 搜索该按钮的状态并返回一些关于它是否启用/禁用的表单布尔值。如果我能做到这一点,那么我可以触发邮件向我的电子邮件发送电子邮件警报。

以下是网站 HTML 中的按钮代码(有货时(:

<button type="submit" name="add" id="AddToCart" class="btn product-single__cart-submit btn--secondary" disabled="">
    <span id="AddToCartText">
        <font style="vertical-align: inherit;">
            <font style="vertical-align: inherit;">
                Sold Out
            </font>
        </font>
    </span>
</button>

以下是网站上 HTML 中的按钮代码(缺货时(:

<button type="submit" name="add" id="AddToCart" class="btn product-single__cart-submit btn--secondary">
    <span id="AddToCartText">
        <font style="vertical-align: inherit;">
            <font style="vertical-align: inherit;">
                Add to Cart
            </font>
        </font>
    </span>
</button>

这是我使用的命令:

#!/bin/bash
x=$( curl -s <url> | grep <AddToCartStatus> )
if [ ! -n "$x" ]
then
    echo Not Available
    exit 1
fi
echo "In Stock" | mail -s "Product is availbe" you@example.com

如果您知道确切的字段/字符串,您可以简单地执行以下操作:

curl -Lqs <url> | grep "yourUniqueString" && mail -s "Subject" you@example.com

grep 实用程序以下列值之一退出:

0     One or more lines were selected.
1     No lines were selected.
>1    An error occurred.

因此,仅当左侧的退出状态为零时,才会评估&&右侧。

如果您在抓取时需要更多细节,并且可以使用python,我建议您使用beautifulsoup4。

相关内容

最新更新