<aside> 💡 背景:是想要抢一台YxVM的SG机器,但是不知道老板啥时候放货,想要监控官方Web端的 库存数量,并且推送提醒。
</aside>
根据Response初步判断,Web端的库存数量(Available)是这个接口中返回的。
通过审查元素找到具体的DOM节点,找到对应的id和class,通过正则表达式可以将这个节点提取出来。(不会写可以问GPT)
其实它相当于一个API Client,类似Postman、Apifox,可以看到许多配置选项,我们只需要配置好URL、Method、响应的解析,就可以进行下一步操作
根据上面分析填入请求相关配置
<aside> ➡️ URL:https://yxvm.com/index.php?rp=/store/singapore-hybrid-beta
HTTP Method: GET
Extract by: Javascript
</aside>
通过接口响应和页面元素分析,实际上我们需要获取的就是id=product2下的类名为qty的span标签里的文本元素,输入以下JavaScript代码,点击Execute Script可以查看效果
// 使用正则表达式匹配 id="product2" 的 div 及其内容
const product2Match = responseString.match(/<div[^>]*id="product2"[^>]*>([\\s\\S]*?)<\\/div>/i);
if (product2Match) {
// 在匹配到的内容中查找类名为 qty 的 span 及其内容
const qtyMatch = product2Match[1].match(/<span[^>]*class="qty"[^>]*>([\\s\\S]*?)<\\/span>/i);
if (qtyMatch) {
// 提取数字
const numberMatch = qtyMatch[1].match(/\\d+/);
if (numberMatch) {
// 返回解析后的数字
return parseInt(numberMatch[0], 10);
}
}
}
// 如果没有找到所需的元素或无法解析数字,返回 null 或其他适当的默认值
return '';