AsaDuplex
Apple Store 零售店信息
Install / Use
/learn @junyilou/AsaDuplexREADME
asaDuplex

一个以异步和面向对象思想编写的 Apple Store 零售店 Python 库。
asaDuplex 提供了全球超过 600 家零售店的详细信息,并对他们进行 Python 包装。你可以:
- 模糊、精确按城市、国家、名称、编号搜索全球已开业、关闭、内部 Apple Store 零售店
- 以极高效的方式查询 Apple Store 零售店的详细信息、查询 Today at Apple 课程和排课信息等
- 通过模块化设计的各种函数,实现信息的定时追踪,例如定期查询指定零售店的特别营业时间、定期查询零售店官方照片的变更、获取新 Today at Apple 课程详细信息、获取正在招聘的未开业零售店等
运行实例
- 果铺知道通过库中的代码实现了 果铺知道 Telegram Bot,你可以在这里体验。
- 本库的 GitHub Actions 将定时自动检查新 Today at Apple 课程和全球新店招聘情况。
代码依赖
代码使用了最高至 Python 3.13 的语法和特性,必须使用 Python 3.13 版本才可完整运行
所有网络请求均使用异步网络 I/O: aiohttp 发送,可通过 pip 安装:
pip install -r requirements.txt
Webhooks
许多代码设计为将结果输出推送通知,这些代码通常导入了以下模块:
from bot import async_post, chat_ids
库中给出了一个示例 bot.py,将读取环境变量 BOTPOST_CHAT_ID 中的用户 ID 和 BOTPOST_API 中的 Webhooks API 地址进行推送,你可以修改为其他你自己的结果推送方式。
库历史
2019 年 6 月:迁移库并命名 asaDuplex。[commit]
2019 年 8 月:升级 Python 3。[commit]
2019 年 11 月:从后期常态占用改为配合 cron 计划任务。[commit]
2020 年 11 月:将推送通知从 IFTTT 改为 Telegram Bot,同时支持富文本和多媒体输出。[commit]
2021 年 3 月:利用 asaDuplex 中的部分代码,推出果铺知道 Telegram Bot,方便用户快速查询 Apple Store 零售店信息及特别营业时间信息。
2021 年 8 月:进一步模块化代码,并将代码结果推送剥离,不再依赖 Telegram Bot 做结果推送。[commit]
2022 年 3 月:使用 asyncio、aiohttp 异步化核心代码,极大幅度的提高运行速度。[commit]
2022 年 4 月:面向对象化 Today at Apple。[commit]
2022 年 10 月:改进代码使用 Python 3.8 [commit], Python 3.9 [commit], Python 3.10 [commit], Python 3.11 [commit] 的部分特性。
2022 年 11 月:面向对象化 storeInfo 核心。[commit]
2023 年 11 月:重写了核心网络请求函数,并适配了 Python 3.12 的部分特性。[commit1] [commit2]
2024 年 6 月:使用 GitHub Actions 自动化 Jobs at Apple 和 Today at Apple。[commit1] [commit2]
Related Skills
node-connect
340.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
84.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
340.5kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
84.2kCommit, push, and open a PR
