使用curl和grep检查物品是否有库存状态?

问题描述 投票:0回答:1

目前我正在尝试创建一个将在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" [email protected]
html curl terminal
1个回答
1
投票

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

curl -Lqs <url> | grep "yourUniqueString" && mail -s "Subject" [email protected]

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

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

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

如果你需要更多的细节,而sraping和如果你可以使用python,我会建议beautifulsoup4

© www.soinside.com 2019 - 2024. All rights reserved.