BestBuy Stock Alert (Chinese Only)

使用需知

本脚本已在Github上开源:https://github.com/RYQ-22/bestbuy-stock-alert ,请注意:

  • 本脚本作为个人使用,功能简陋,但使用简单且可以满足我的需求。若有更复杂的要求,如对其他网站的支持、自动发送邮件等,可以看一下这个项目:https://github.com/Prince25/StockAlertBot (需要自己部署,比本脚本麻烦一些)。
  • BestBuy默认根据请求IP判断地区,且不同地区的库存状态不同,请在需要查询的地区部署该脚本。若要手动设置查询的地区邮编,请查看上面提到的项目。
  • 若要部署该脚本为定时任务需要一台不关机的电脑(服务器),相当于Python代替你查看BestBuy网页。
  • 若嫌麻烦不想自己部署,也可以直接订阅网上的库存检测服务(自行Google即可)。

1️⃣ 获得Twilio API

1. 打开Twilio官网注册免费账号

如图点“Start for free”注册。

注册需要用虚拟手机号,推荐用Google Voice(不要用实体手机号,不然需要运营商验证)。

验证完后保存好恢复密钥,然后点击“Continue with trial”。

2. 获得环境变量所需信息

如图进入首页,点击“Get a phone number”,应该会显示如下页面。

点击上方的“Configure”,然后就可以在右边看到我们需要的Service SID。

然后回到主界面,往下滑可以看到“Account Info”。

可以看到我们需要的“Account SID”和“Auth Token”。这里的电话号码不用管,是Twilio用来发短信的号码。

然后从Github的项目界面下载bestbuy.env文件然后编辑,或者直接复制下面的内容然后编辑。注意这里的手机号改为注册时用的Google Voice虚拟手机号。

1
2
3
4
5
# bestbuy.env
TWILIO_ACCOUNT_SID=YOUR_ACCOUNT_SID
TWILIO_AUTH_TOKEN=YOUR_AUTH_TOKEN
MESSAGING_SERVICE_SID=YOUR_SERVICE_SID
RECIPIENT_PHONE_NUMBER=+1xxxxxxxxxx

2️⃣ 下载二进制文件

经测试,使用非3.9.20版本的Python可能会导致请求时连接超时。为方便使用,可以直接下载Github Release里打包好的二进制文件:https://github.com/RYQ-22/bestbuy-stock-alert/releases/tag/v1.0.0

根据自己的系统下载对应的二进制文件,可能需要允许可执行权限。

3️⃣ 设置为定时任务

下载好后,把二进制文件和之前编辑好的bestbuy.env文件放到同一个文件夹。下面介绍如何在不同的系统设置定时任务(实现每隔一段时间检测一次库存状态)。

Linux

使用crontab实现:在终端输入

1
crontab -e
然后把下面的内容插入到文件末尾:
1
*/1 7-23 * * * cd your_folder && ./bestbuy-stock-alert-1.0.0-linux_x86-64 your_url >> your_logfile 2>&1

  • 1改为查询的时间间隔(单位分钟)
  • 7-23改为该任务的活跃时间(例如只想要在8点到22点之间查询,就改为8-22
  • your_folder改为打包好的二进制文件和bestbuy.env所在的绝对目录
  • your_url改为所要查询的Bestbuy商品的网址(默认是https://www.bestbuy.com/site/nvidia-geforce-rtx-5080-16gb-gddr7-graphics-card-gun-metal/6614153.p
  • your_logfile改为日志的文件名

Windows

使用schtasks实现,在命令提示符(cmd)或PowerShell中执行以下命令:

1
schtasks /Create /SC MINUTE /MO 1 /TN "BestBuy Stock Alert" /TR "cmd /c \"cd /d \"C:\\Path\\To\\Your\\Folder\" && bestbuy-stock-alert-1.0.0-windows-x86-64.exe \"your_url\" >> \"C:\\Path\\To\\Your\\Log\\your_logfile.log\" 2>&1\"" /ST 07:00 /ET 23:59

  • 1改为查询的时间间隔(单位分钟)
  • 07:0023:59改为该任务每天的开始和结束时间
  • C:\\Path\\To\\Your\\Folder(注意结尾不包括右斜杠)改为打包好的二进制文件和bestbuy.env所在的绝对目录
  • your_url改为所要查询的Bestbuy商品的网址(默认是https://www.bestbuy.com/site/nvidia-geforce-rtx-5080-16gb-gddr7-graphics-card-gun-metal/6614153.p
  • C:\\Path\\To\\Your\\Log\\your_logfile.log改为日志的绝对路径。若不需要日志,把下面的内容删掉即可:>> \"C:\\Path\\To\\Your\\Log\\your_logfile.log\" 2>&1\"

设置为任务前可以直接在cmd中试一下看能不能运行:

1
bestbuy-stock-alert-1.0.0-windows-x86-64.exe


BestBuy Stock Alert (Chinese Only)
https://rickyhub.org/2025/06/07/bestbuy-stock-alert/
Author
Ricky Ren
Posted on
June 7, 2025
Licensed under