V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
unknown666
V2EX  ›  分享创造

用 Rust 写了个大麦网抢票脚本。

  •  
  •   unknown666 · 2023 年 5 月 27 日 · 14081 次点击
    这是一个创建于 966 天前的主题,其中的信息可能已经有所发展或是发生改变。

    仓库地址: https://github.com/ClassmateLin/dm-ticket

    喜欢的话帮忙点个 star.

    GuangXiN
        1
    GuangXiN  
       2023 年 5 月 27 日 via Android
    rust 程序也能算脚本?
    invalid
        2
    invalid  
       2023 年 5 月 27 日
    好用吗,试试
    lhx2008
        3
    lhx2008  
       2023 年 5 月 27 日
    看了下好复杂,还是 python 合适
    needpp
        4
    needpp  
       2023 年 5 月 27 日
    其他条件相同的情况下,执行速度会比 nodejs 更快吗?
    unknown666
        5
    unknown666  
    OP
       2023 年 5 月 28 日
    @lhx2008 本来用 Python 写的
    unknown666
        6
    unknown666  
    OP
       2023 年 5 月 28 日
    @needpp
    Silently
        7
    Silently  
       2023 年 5 月 28 日
    dm-ticket 镜像少预装了 curl 导致连不上 token
    unknown666
        8
    unknown666  
    OP
       2023 年 5 月 28 日
    @Silently 不是 curl 的问题
    Silently
        9
    Silently  
       2023 年 5 月 28 日
    @unknown666 我这边报错“thread 'tokio-runtime-worker' panicked at 'called `Result::unwrap()` on an `Err` value: error sending request for url ( http://token-server:8080/?key=bx_token): error trying to connect: tcp connect error: Connection refused (os error 111)”
    进容器安装 curl 后重启才恢复正常
    unknown666
        10
    unknown666  
    OP
       2023 年 5 月 28 日
    @Silently 那是 token-server 还没有启动完成。等一会就行了。
    Silently
        11
    Silently  
       2023 年 5 月 28 日
    @unknown666 抱歉 确实
    zerone0086
        12
    zerone0086  
       2023 年 5 月 28 日


    你好 报这个错了
    zerone0086
        13
    zerone0086  
       2023 年 5 月 28 日
    bearboss
        14
    bearboss  
       2023 年 5 月 28 日
    大麦的 api 接口没有加密吗 参数都是明文的? a 有加密的话是如何解出来的呢
    seers
        15
    seers  
       2023 年 5 月 28 日 via Android
    容易被盾
    unknown666
        16
    unknown666  
    OP
       2023 年 5 月 28 日
    @bearboss 看源码
    unknown666
        17
    unknown666  
    OP
       2023 年 5 月 28 日
    @zerone0086 图片看不到。请在 github 提交 issue
    jonty
        18
    jonty  
       2023 年 5 月 29 日
    不懂就问,cookies 是需要全部复制上去吗?
    unknown666
        19
    unknown666  
    OP
       2023 年 5 月 29 日
    @jonty 全部复制。请看 README 。
    jonty
        20
    jonty  
       2023 年 5 月 29 日
    @unknown666 thread 'main' panicked at 'failure read file ./config/config.yaml', src/config.rs:34:59
    note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
    jonty
        21
    jonty  
       2023 年 5 月 29 日
    lawsiki
        22
    lawsiki  
       2023 年 5 月 29 日
    貌似很多演唱会不开放 web 端下单的
    musi
        23
    musi  
       2023 年 5 月 29 日
    爬虫主要还是网络吧,rust 发请求会比 python 发的快?
    unknown666
        24
    unknown666  
    OP
       2023 年 5 月 29 日
    @lawsiki 张杰,周杰伦那些
    unknown666
        25
    unknown666  
    OP
       2023 年 5 月 29 日
    @musi 抢购主要是网络的。排除网络和开发速度外,Rust 比 python 快, 占用内存低, 二进制包小巧。
    lrwlf
        26
    lrwlf  
       2023 年 5 月 29 日
    @unknown666 在哪里看的源码呀,之前抓包研究,没搞明白加密逻辑..
    lrwlf
        27
    lrwlf  
       2023 年 5 月 29 日
    @unknown666 PC H5 都不让买票了,原来移动端 H5 还可以。。
    deplivesb
        28
    deplivesb  
       2023 年 5 月 29 日
    一直提示 生成订单失败, ["B-00203-200-100::网络开小差了,再试一次吧~"]
    确定 cookie 复制完整
    unknown666
        29
    unknown666  
    OP
       2023 年 5 月 29 日
    @lrwlf 在网页, 需不需要报班
    unknown666
        30
    unknown666  
    OP
       2023 年 5 月 30 日
    @deplivesb itemId 配置错误
    lrwlf
        31
    lrwlf  
       2023 年 5 月 30 日
    @unknown666 不用了 hhhh
    mapperv
        32
    mapperv  
       2023 年 5 月 30 日
    生成订单失败, ["RGV587_ERROR::SM::哎哟喂,被挤爆啦,请稍后重试!"]
    为什么 cookie 取全了也报错
    unknown666
        33
    unknown666  
    OP
       2023 年 5 月 30 日
    @mapperv ip 问题。类似问题已经不知道回答了多少次了。有问题尽量先看 issue 。
    unknown666
        34
    unknown666  
    OP
       2023 年 5 月 31 日
    @deplivesb 应该是配置的 ticket id 有问题。
    tgz2018
        35
    tgz2018  
       2023 年 5 月 31 日
    [+] Running 1/1
    ✘ token-server Error 14.5s
    Error response from daemon: pull access denied for classmatelin/alitoken-server, repository does not exist or may require 'docker login': denied: requested access to the resource is denied
    tgz2018
        36
    tgz2018  
       2023 年 5 月 31 日
    解决了,非常感谢您
    vicky1124
        37
    vicky1124  
       2023 年 6 月 1 日
    脚本还能用么
    glovebx
        38
    glovebx  
       2023 年 6 月 2 日
    大佬能不能整个淘票票的抢票脚本
    lasuar
        39
    lasuar  
       2023 年 6 月 3 日
    就为了个 star 啊,,用 rust 写脚本,完全是为了练习吧,star 都是虚的。真要 star ,你用 Rust 写个更有实力的项目比较容易得
    unknown666
        40
    unknown666  
    OP
       2023 年 6 月 3 日
    @lasuar 比如?
    swim2sun
        41
    swim2sun  
       2023 年 6 月 4 日 via iPhone
    开发这种要怎么分析 API 呢?有没有好用的工具,仅靠抓包人工分析感觉头大
    unknown666
        42
    unknown666  
    OP
       2023 年 6 月 4 日
    @swim2sun 网页的东西用 chrome+charles 就够了。
    zhongjianrong
        43
    zhongjianrong  
       2023 年 6 月 5 日
    大佬,现在是不是下掉了呀,拉取不到镜像了
    Garrix
        44
    Garrix  
       2023 年 6 月 5 日
    大佬,看到仓库设置存档了,怎么回事?
    MurphyL0
        45
    MurphyL0  
       2023 年 6 月 5 日
    alitoken-server 镜像没了
    byte10
        46
    byte10  
       2023 年 6 月 5 日
    @needpp 额 还是脚本更方便一些吧。rust 比 nodejs 是快一点,cpu 执行时间 ndoejs 可能就是 1ms 和 rust-0.05ms ,也许是快了 20 倍,但是大头是 IO 时间。。。 也就是 101ms 和 100.05 ms ,其实没啥差别。
    EdwardWong
        47
    EdwardWong  
       2023 年 6 月 5 日
    嘛,开源抢票软件的结果基本无非就两种:
    1. 自媒体 -> 小白 -> issue
    2. 贩子 -> Abuse -> 厂商改算法 + 风控
    需求高于供给的情况下总会有人抢不到票
    反正搞到最后受伤的总是开发者🥺
    needpp
        48
    needpp  
       2023 年 6 月 5 日
    @byte10 感谢分享;再做进一步讨论; 有哪些方法可以缩减 io 时间; 比如 硬件层面: 升级 ssd ,提升宽带,软件层面:tcp 复用,http2 链接复用? 或者 请求中携带参数只需要返回 head 信息等? 总之,一切能够提升请求效率的方法都可以拿出来讨论讨论?
    loveDiu4ever
        49
    loveDiu4ever  
       2023 年 6 月 6 日
    你写的啊,关注了,5k start 了,已经删库了
    Biluesgakki
        50
    Biluesgakki  
       2023 年 6 月 6 日
    @unknown666 #29 有课吗哥 想学
    byte10
        51
    byte10  
       2023 年 6 月 6 日
    @needpp 额,一般你找几个网络延迟低的机器,比如他们的 服务部署在阿里云,那你就买阿里云那边的机器。CPU 双核就够了,这点业务估计吃不完 50%。nodejs 本身就是用 NIO 的,开它 800-1000 个 http 链接,去抢就可以了。如果对方支持 http2 ,那你也可以用 http2 去抢(这样就几个 http2 连接即可),其他应该没啥可以提升了。
    Biluesgakki
        52
    Biluesgakki  
       2023 年 6 月 6 日
    9 天后才看到 拍断腿了
    pkwenda
        53
    pkwenda  
       2023 年 6 月 6 日
    楼主怎么归档了,不可抗力吗?
    chenpt0809
        54
    chenpt0809  
       2023 年 6 月 6 日
    请问谁有最后一个版本的 docker 包,求一下。
    dark456852
        55
    dark456852  
       2023 年 6 月 7 日
    求镜像包
    bully
        56
    bully  
       2023 年 6 月 7 日
    请问谁有最后一个版本的 docker 包,求一下
    zh4710jj
        57
    zh4710jj  
       2023 年 6 月 8 日
    @tgz2018 你好,请问你是怎么解决 alitoken-server 不存在的问题的呢?
    whenIambored
        58
    whenIambored  
       2023 年 6 月 13 日
    alitoken-server 这个镜像好像被删了
    chenyuhuahi
        59
    chenyuhuahi  
       2023 年 6 月 13 日
    电报群还在么大佬
    Ionian
        60
    Ionian  
       2023 年 7 月 9 日
    镜像没了
    onbeam
        61
    onbeam  
       2023 年 7 月 14 日
    大佬 ,rust 抢好像用不了现在是 dp 模式么?有 tg 群?谢谢
    2NUT
        62
    2NUT  
       2023 年 9 月 9 日
    @lasuar 确实挺虚,都 7 千多 star 了;我决定加入
    unknown666
        63
    unknown666  
    OP
       2024 年 3 月 2 日
    unknown666
        64
    unknown666  
    OP
       2024 年 3 月 2 日
    unknown666
        65
    unknown666  
    OP
       2024 年 3 月 2 日
    poczm123
        66
    poczm123  
       2024 年 7 月 7 日
    大佬,有个爬虫程序想请你用 rust 帮写,怎么联系?
    unknown666
        67
    unknown666  
    OP
       2024 年 7 月 18 日
    @poczm123 aHR0cHM6Ly90Lm1lL2plcnJ5eTI1Nzc=
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2755 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 07:25 · PVG 15:25 · LAX 23:25 · JFK 02:25
    ♥ Do have faith in what you're doing.