zengyongsheng 9dee0fd0ef tbsg: 起送行锚定解析器 + 残卡清理 + 推荐流不采集 + 店名/省份清洗 22 часов назад
..
commons 9dee0fd0ef tbsg: 起送行锚定解析器 + 残卡清理 + 推荐流不采集 + 店名/省份清洗 22 часов назад
files 8db1782815 闪购采集大更新: 交叉验证解析/几何校验/拟人滑动/弹窗与异常重试强化 1 неделя назад
guiji b628b1c13b guiji真人轨迹模板入库 + 采集链路稳定性修复 6 дней назад
steps 8db1782815 闪购采集大更新: 交叉验证解析/几何校验/拟人滑动/弹窗与异常重试强化 1 неделя назад
yzm 9dee0fd0ef tbsg: 起送行锚定解析器 + 残卡清理 + 推荐流不采集 + 店名/省份清洗 22 часов назад
README.md 9dee0fd0ef tbsg: 起送行锚定解析器 + 残卡清理 + 推荐流不采集 + 店名/省份清洗 22 часов назад
addr_prefix.json 8db1782815 闪购采集大更新: 交叉验证解析/几何校验/拟人滑动/弹窗与异常重试强化 1 неделя назад
ai_helper.py 7264036484 最新 1 месяц назад
ai_helper1.py 9dee0fd0ef tbsg: 起送行锚定解析器 + 残卡清理 + 推荐流不采集 + 店名/省份清洗 22 часов назад
ai_helper_vision.py 8db1782815 闪购采集大更新: 交叉验证解析/几何校验/拟人滑动/弹窗与异常重试强化 1 неделя назад
ai_helper_vision1.py 8db1782815 闪购采集大更新: 交叉验证解析/几何校验/拟人滑动/弹窗与异常重试强化 1 неделя назад
ai_helper_vision2.py 9dee0fd0ef tbsg: 起送行锚定解析器 + 残卡清理 + 推荐流不采集 + 店名/省份清洗 22 часов назад
ai_helper_vision_cross.py 9dee0fd0ef tbsg: 起送行锚定解析器 + 残卡清理 + 推荐流不采集 + 店名/省份清洗 22 часов назад
area.py 8db1782815 闪购采集大更新: 交叉验证解析/几何校验/拟人滑动/弹窗与异常重试强化 1 неделя назад
audit_ocr.py 8db1782815 闪购采集大更新: 交叉验证解析/几何校验/拟人滑动/弹窗与异常重试强化 1 неделя назад
check_cross.py 8db1782815 闪购采集大更新: 交叉验证解析/几何校验/拟人滑动/弹窗与异常重试强化 1 неделя назад
city.json 8db1782815 闪购采集大更新: 交叉验证解析/几何校验/拟人滑动/弹窗与异常重试强化 1 неделя назад
db.py 9dee0fd0ef tbsg: 起送行锚定解析器 + 残卡清理 + 推荐流不采集 + 店名/省份清洗 22 часов назад
detect_captcha_edge.py 7264036484 最新 1 месяц назад
detect_slider_button.py 7264036484 最新 1 месяц назад
excel_log.py 8db1782815 闪购采集大更新: 交叉验证解析/几何校验/拟人滑动/弹窗与异常重试强化 1 неделя назад
human_touch.py 9dee0fd0ef tbsg: 起送行锚定解析器 + 残卡清理 + 推荐流不采集 + 店名/省份清洗 22 часов назад
main.py 7264036484 最新 1 месяц назад
main1.py 9dee0fd0ef tbsg: 起送行锚定解析器 + 残卡清理 + 推荐流不采集 + 店名/省份清洗 22 часов назад
mian2.py 8db1782815 闪购采集大更新: 交叉验证解析/几何校验/拟人滑动/弹窗与异常重试强化 1 неделя назад
requirements.txt b628b1c13b guiji真人轨迹模板入库 + 采集链路稳定性修复 6 дней назад
snapshot.py 9dee0fd0ef tbsg: 起送行锚定解析器 + 残卡清理 + 推荐流不采集 + 店名/省份清洗 22 часов назад
start_run_ele.py 9dee0fd0ef tbsg: 起送行锚定解析器 + 残卡清理 + 推荐流不采集 + 店名/省份清洗 22 часов назад

README.md

tbsg — 饿了么闪购药品采集

Android 真机自动化采集:uiautomator2 驱动 + OCR/规则解析 + 调度平台派单。

入口与环境

入口: start_run_ele.py <设备序列号>
环境: conda env tbsg (Python 3.9, D:\miniconda3\envs\tbsg\python.exe)
配置: config.json (百度OCR/OSS/DeepSeek key)

解析架构(2026-09-22 起)

模块 说明
列表分卡(主) ai_helper_vision2.py 起送行锚定:每卡底部必有「起送¥…」行(三选二验证),相邻起送行之间=一张卡。纯规则零AI,结构性防漏卡。残卡(首区间无标题/高度异常)自动裁掉;「搜索结果较少,为你推荐相关店铺」横幅以下推荐流不采集;店铺名只取括号前(去「(快递发…)」后缀)
滑块验证码 yzm/tmp_captcha_test7.py test6 的 A/B 试验版:落点补偿-2、真人模板23条(guiji_new)、右滑0.45~1.55px/ms、折回60~600px/s、减速平滑(末段=前段0.5~0.8倍)、归档独立 test7_image/
卡片边界(备用) commons/card_split.py 纯视觉:空白游程≥90%屏宽 + 带高≥15 + 间距≥200 → 卡片分隔线(几何对账用,未接主流程)
旧版(回滚用) ai_helper_vision_cross.py + tmp_captcha_test6.py 交叉验证分卡 + 旧滑块。回滚 = main1.py 改回对应 import

停止条件

正常(is_finished=1):①OCR 检出「搜索结果较少,为你推荐相关店铺」(主出口) ②连续10个无关商品 ③连续8批无新店铺(保底)

异常(need_reassign=1):验证码日限8次 / 账号被踢 / 白屏重启3次无效 / 平台限额(探针拦截) / 连续3批识别失败

日志体系

日志 位置 内容
异常日志 logs/errors/设备/日期.jsonl 14 类异常事件(account_kicked/captcha/white/快照/接口等)
压力日志 logs/pressure/设备_日期.jsonl 每任务一条:crawled_today/tasks_today/captcha_today/runtime → 分析封号阈值
验证码留档 yzm/image/test7_image/{success,failure}/日期/ 每次尝试的复检图+轨迹JSON
决策留档 screenshots/设备/step4/ restart_home1/2/kw/ai + white_skip_detail
断点 ycwj/设备_md5.txt visited+滚动位置(异常停止保留,正常结束删除)

关键参数(都在 main1.py / tmp_captcha_test7.py)

ENABLE_TITLE_FILTER=False   规格过滤开关(现关)
SWIPE_RIGHT_TWO_P=0.80      右手两段式概率(左手0.10/原单笔0.10)
CAPTCHA_DAILY_LIMIT=8       验证码日限熔断
tmp_captcha_test7: OFFSET_COMPENSATE=0, RIGHT_SPEED_RANGE=(0.45,1.55),
                   折回速度400~900px/s, BRAKE_TIME=(0.75,0.88)

工具

demo_swipe.py <序列号> [次数]      滑动演示+轨迹存档(swipe_demos/)
ai_helper_vision2.py <截图>        列表解析单图测试(标注图存 vision2_debug/)
_tmp_batch_qisong.py               起送行分卡批量验证(screenshots 抽样)

已知限制

  • 「拖出完整N个图形」类验证码:jfbym gap 为粗估,语义判定失败无法避免(重试已加↻换图)
  • 跨设备接力时 visited 为空(靠 DB 唯一键兜底)
  • 折返停顿 2.5~3.2s 比真人(0.15~0.8s)长,实测该档失败率最低,保留