使用curl和grep检查物品是否有库存状态?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用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.
因此,只有在左侧的退出状态为零时才会评估&&
的右侧。
如果你需要更多的细节,而sraping和如果你可以使用python,我会建议beautifulsoup4。
以上是关于使用curl和grep检查物品是否有库存状态?的主要内容,如果未能解决你的问题,请参考以下文章