Code Monkey home page Code Monkey logo

dingdong-grabber's Issues

抢菜提示抱歉人多拥挤

同一时间段app端手动购买提示是 运力已满。

I0426 08:47:16.070168 17116 cart.go:45] 勾选购物车全选按钮成功
I0426 08:47:16.584096 17116 client.go:127] 请求结果有异常, 详情: {"success":false,"error":null,"code":-3000,"message":"","msg":"当前人多拥挤,请稍后尝试刷新页面","data":[]}
E0426 08:47:16.584127 17116 cart.go:62] 获取购物车商品失败, 错误: 当前人多拥挤,请稍后尝试刷新页面
I0426 08:47:16.648329 17116 cart.go:45] 勾选购物车全选按钮成功
I0426 08:47:16.793593 17116 client.go:127] 请求结果有异常, 详情: {"success":false,"error":null,"code":-3000,"message":"","msg":"抱歉人多拥挤,请稍后再试","data":[]}
E0426 08:47:16.793621 17116 order.go:128] 获取预约时间失败, 错误: 抱歉人多拥挤,请稍后再试

寻找新的解决方案

隔壁dingdong-helper看样子是更不了了
希望作者能帮到我们!做出最后更新!

请立刻hard reset签名相关提交

请立刻hard reset签名相关提交,否则由此产生的任何后果将由你自己承担。
此举并非禁止你使用相关算法,请联系我找到合适的处理方式。

增加docker运行需求

发现Go环境和开发工具(Goland和Vscode)对初级开发者或者不熟悉Go的人不友好,需要添加Docker运行降低使用门槛。

更新到最新版后报错

Build Error: go build -o c:\Users\AD\Downloads\dingdong-grabber-main\pkg\notice__debug_bin.exe -gcflags all=-N -l .
github.com/dingdong-grabber/pkg/notice
.\music.go:13:6: Mp3 redeclared in this block
.\mp3.go:14:6: other declaration of Mp3 (exit status 2)

新增捡漏模式

简单实现了捡漏模式,此模式下可长期运行(实现非并发,串行执行),大家可以尝试一下。pull下最新代码,只需要在main.go将strategy字段值设为2即可。

请教下main.go 运行的问题

Go新手小白
按README里直接在VS Code运行main.go
VS Code弹出两个dependency需要安装才行

  1. go-outline
  2. gopls
    然而开了梯子和不开梯子这两个都安装不上。。。
    求大佬相助

503

I0420 12:02:09.357310 11196 cart.go:20] 勾选购物车全选按钮失败, 错误: 您的访问已过期,请重新登录
I0420 12:02:09.588841 11196 cart.go:20] 勾选购物车全选按钮失败, 错误: 您的访问已过期,请重新登录
I0420 12:02:09.789690 11196 cart.go:20] 勾选购物车全选按钮失败, 错误: 您的访问已过期,请重新登录
E0420 12:02:09.809905 11196 cart.go:38] 获取购物车商品失败, 错误: AssertError
E0420 12:02:09.836481 11196 cart.go:38] 获取购物车商品失败, 错误: AssertError
I0420 12:02:10.011207 11196 cart.go:20] 勾选购物车全选按钮失败, 错误: 您的访问已过期,请重新登录
E0420 12:02:10.228124 11196 cart.go:38] 获取购物车商品失败, 错误: AssertError
E0420 12:02:10.339387 11196 cart.go:38] 获取购物车商品失败, 错误: AssertError
I0420 12:02:10.339387 11196 cart.go:20] 勾选购物车全选按钮失败, 错误: 您的访问已过期,请重新登录
I0420 12:02:10.413810 11196 cart.go:20] 勾选购物车全选按钮失败, 错误: 您的访问已过期,请重新登录
E0420 12:02:10.662092 11196 cart.go:38] 获取购物车商品失败, 错误: AssertError

cookie问题

你好,我想问一下,我同一个账号的话,我用iOS获取cookie后,用Mac运行程序可以吗?
同一个用户不同设备获取的cookie会不同吗?

程序运行后一直在显示地址不执行抢菜

先感谢作者的程序..辛苦了!

想请问下作者为何我的程序执行后一直在重复显示地址不执行抢菜呢?

我操作时间是5/2 凌晨2点多, 已更新至最新代码, nodejs版本是16, main.go里已填入cookie, 然后我把第94行的 ""30 59 05 * *" 改成了 "30 59 01 * *" 进行测试, 结果如图
20220502150842

是我哪里没操作正确吗?

4月25日统计下单成功人数便于优化

今天有人下单成功吗?本人亲测下单成功并付款了,在此想统计下下单成功人数,如果遇到一些问题可以及时反馈,我尽量优化策略,便于第二天更容易抢到。

叮咚启用签名nars和sesi

经验证,叮咚后台已经启用了签名,如果请求不带有相应的签名,则会报下面错误. 所以需要开发带有签名的请求。

{
    "msg": "抱歉人多拥挤,请稍后再试",
    "code": -3000,
    "timestamp": "2022-04-22 22:31:02",
    "success": false,
    "exec_time": null
}

新增捡漏模式需求

叮咚的配送时间也是不断更新的,早晨6:00和8:30抢菜的时候你会很快发现有两个时间段A和B已经预约满了,但是到中午有时候会发现出现了另外一个预约时间C,这就意味着叮咚的预约时间也是不断开放的,所以这就需要一个捡漏模式不断运行捡漏,同时也需要防止过于频繁请求被风控。

请求结果有异常,抱歉人多拥挤,请稍后再试

4.22上午,测试时无法获取预约时间,猜测是checkorder request出问题,程序反复报错:
cart.go:74 更新购物车数据成功, 订单金额:49.90
client.go:90 请求结果有异常, 详情: {"success":false,"error":null,"code":-3000,"message":"","msg":"抱歉人多拥挤,请稍后再试","data":[]}
order.go:107 获取预约时间失败, 错误: 抱歉人多拥挤,请稍后再试

与此同时手机上测试没有拥挤问题,只是无可选的配送时间

有人碰到dial tcp: lookup maicai.api.ddxq.mobi: no such host

可以拿到收货地址和站点信息,是DNS问题吗?

E0428 08:32:27.440113   58561 cart.go:62] 获取购物车商品失败, 错误: Get "https://maicai.api.ddxq.mobi/cart/index?ab_config=%7B%22key_onion%22%3A%22D%22%2C%22key_cart_discount_price%22%3A%22C%22%7D&api_version=9.50.0&app_client_id=4&app_version=2.83.0&applet_source=&channel=applet&city_number=0101&device_token=&h5_source=&is_load=1&latitude=<CENSORED>&longitude=<CENSORED>&nars=<CENSORED>&openid=&s_id=&sesi=KshgNHMa21fa2be053081a19f06b7c3f1fc376c&sharer_uid=&station_id=<CENSORED>&time=1651105681&uid=5fc1d02c13416b0001a8c062": dial tcp: lookup maicai.api.ddxq.mobi: no such host
E0428 08:32:29.673113   58561 client.go:92] Post "https://maicai.api.ddxq.mobi/order/getMultiReserveTime": dial tcp: lookup maicai.api.ddxq.mobi: no such host
E0428 08:32:29.673134   58561 order.go:129] 获取预约时间失败, 错误: Post "https://maicai.api.ddxq.mobi/order/getMultiReserveTime": dial tcp: lookup maicai.api.ddxq.mobi: no such host

提个建议

推送可以使用bark,定制化更强一点

更新新版本后还是提示-3000

I0423 20:54:17.003548 70729 client.go:109] 请求结果有异常, 详情: {"success":false,"error":null,"code":-3000,"message":"","msg":"抱歉人多拥挤,请稍后再试","data":[]}
E0423 20:54:17.003590 70729 order.go:116] 获取预约时间失败, 错误: 抱歉人多拥挤,请稍后再试
I0423 20:54:17.106243 70729 cart.go:78] 更新购物车数据成功, 订单金额:229.04

付款问题

付款问题咋解决的大佬,用零钱的话,需要输入密码

疑问:我填写cookie后,运行main.go后一直提示设置默认地址,默认站点和经纬度

提示这个是因为对运行时间段有要求吗?(当前时间:17:20)
I0424 17:15:57.084147 19510 address.go:40] 1.默认收货地址:xxxxxxxxxxxxxxxxx, 手机号: xxxxxxxxxxxx
I0424 17:15:57.084166 19510 address.go:41] 2.该地址对应站点名称为:浦三站
I0424 17:15:57.084170 19510 address.go:42] 3.设置买菜地址经度:121.520791
I0424 17:15:57.084176 19510 address.go:43] 4.设置买菜地址纬度:31.140239

最新更新

在@czqcs 提醒下看到一哥们实现了基于NodeJs在IOS端的抢菜,今天会实现此更新。

vscode

请问一下 vsocde咋运行啊 有具体流程吗 实在是不会弄 go环境装好了 但是不会再vscode运行 家里菜和米都没了 只剩面条了...

请教 错误: -3001

微信图片_20220425092429

您好,今早第一次用,显示错误-3001,是我新注册的账户问题么?

4月27日6点抢菜失败

错误信息是获取订单确认信息失败,错误:-3100。 另外,今天小程序的版本是2.85.4了跟这个有关吗?我填写的cookie能够正确获取到默认收货地址1,2,3,4等信息

4月25日,报错依旧,跑了2分多,卡住了

{"success":false,"error":null,"code":-3100,"message":"","msg":"","data":{}}
E0425 06:00:58.886537 18420 order.go:208] 获取订单确认信息失败, 错误: -3100
I0425 06:00:58.914612 18420 order.go:133] 更新配送时间成功, 配送时间段: 自动尝试可用时段
I0425 06:00:58.918625 18420 client.go:110] 请求结果有异常, 详情: {"success":false,"error":null,"code":-3100,"message":"","msg":"","data":{}}
E0425 06:00:58.918625 18420 order.go:208] 获取订单确认信息失败, 错误: -3100
I0425 06:00:58.967255 18420 client.go:110] 请求结果有异常, 详情: {"success":false,"error":null,"code":-3000,"message":"","msg":"当前人多拥挤,请稍后尝试刷新页面","data":[]}
E0425 06:00:58.967255 18420 cart.go:45] 获取购物车商品失败, 错误: 当前人多拥挤,请稍后尝试刷新页面
I0425 06:00:59.020103 18420 cart.go:28] 勾选购物车全选按钮成功
I0425 06:00:59.078769 18420 client.go:110] 请求结果有异常, 详情: {"success":false,"error":null,"code":-3000,"message":"","msg":"当前人多拥挤,请稍后尝试刷新页面","data":[]}
I0425 06:00:59.078769 18420 config.go:215] 当前人多拥挤,请稍后尝试刷新页面
I0425 06:00:59.143964 18420 client.go:110] 请求结果有异常, 详情:

405 风控问题

抢菜助手不可长时间运行,否则易被风控,出现405 AssertError问题。

解决方案: 经测试,可以更换新的cookie避免405 AssertError问题。
如何更换不同的 cookie:

  • 退出叮咚手机app,重新登录和抓取
  • 退出微信叮咚小程序,重新登录和抓取

请注意,一定要和上次的cookie不一样才有意义。

{
    "success":null,
    "error":"AssertError",
    "code":"405",
    "message":"",
    "msg":"",
    "data":"-405"
}

4月26日,测试成功

image

有一个疑问,最新的header里面很多字段消失了,是不是脚本要更新一下。 这个是不是识别特征啊?

关于程序运行逻辑,想请教一下

代码里用到了多线程,而且一直在刷新,那有没有可能最终addNewOrder的数据存在错误?
例如,在最后提交的时候购物车商品有变化,但checkOrder数据还没有更新到

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.