仓库:MuZiCul/ikuuu(原创)· 语言:Python (Flask + APScheduler) · 定位:iku 机场每日自动签到 + 企业微信推送
一个轻量自动化工具:每天凌晨 1 点自动在 iku 机场签到,把签到结果(流量信息/错误)推送到企业微信。
app.py)from flask import Flask
from flask_apscheduler import APScheduler
from job import sign_in_iku
app = Flask(__name__)
scheduler = APScheduler()
scheduler.init_app(app)
scheduler.start()
@app.route('/')
def hello_world():
return 'Hello World!'
@scheduler.task('cron', id='iku', hour=1) # 每天凌晨 1 点
def sign_In():
sign_in_iku()
if __name__ == '__main__':
from gevent import pywsgi
server = pywsgi.WSGIServer(('0.0.0.0', 5000), app)
server.serve_forever()
两个值得注意的点:
- 用 gevent WSGIServer 而不是 Flask 自带开发服务器——生产级部署意识(gevent 协程,并发更好)
- 保留 / 路由返回 Hello World,作为健康检查端点(容器/K8s 探活、确认服务还活着)
job.py)cookies = {
'lang': 'zh-cn',
'uid': '755899',
'email': '110muzicul110%40gmail.com',
'key': '75fe857f...',
'ip': '9b90675e...',
'expire_in': '1671454410',
}
headers = {
'User-Agent': 'Mozilla/5.0 ... Firefox/108.0',
'Accept': 'application/json, text/javascript, */*; q=0.01',
'Referer': 'https://ikuuu.co/user',
'X-Requested-With': 'XMLHttpRequest', # 标记为 Ajax 请求
'Origin': 'https://ikuuu.co',
'Sec-Fetch-Site': 'same-origin',
}
def sign_in_iku():
try:
response = requests.post(
'https://ikuuu.co/user/checkin',
cookies=cookies, headers=headers,
proxies={'http': 'http://127.0.0.1:11223',
'https': 'http://127.0.0.1:11223'})
text = json.loads(response.text)
if text['ret'] == 0:
send_to_wecom('iku机场签到:' + text['msg'])
if text['ret'] == 1:
send_to_wecom('iku机场签到:' + text['msg'])
except Exception as e:
send_to_wecom('流量签到服务器错误:' + str(e))
技术要点:
- 直接复用浏览器登录 Cookie(uid/email/key/ip/expire_in)维持登录态
- 请求头完整模拟 Ajax 请求(X-Requested-With、Referer、Sec-Fetch-*),提高请求合法性
- 走本地代理 127.0.0.1:11223(机场类站点通常需代理访问)
- 结果无论成功失败都推送,except 捕获异常也推送错误信息——保证"没签到成功"能被感知
APScheduler (cron, hour=1)
↓
requests.post(签到接口) ← Cookie 维持登录态 + 本地代理
↓
send_to_wecom() → 企业微信推送结果(成功/失败/异常)
"定时触发 + 模拟请求 + 消息推送",是自动化脚本常见的一段式结构,我这个项目也是这么写的。三个亮点:
/ 端点方便容器探活已知局限:Cookie 硬编码在源码中且有过期时间(expire_in),需要定期手动更新;配置(企业微信凭证、代理端口)外置在 config/config.py。
机场签到属于灰色应用,此处仅作技术实现学习参考。