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

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

  •  
  •   unknown666 · 306 天前 · 10957 次点击
    这是一个创建于 306 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    喜欢的话帮忙点个 star.

    GuangXiN
        1
    GuangXiN  
       306 天前 via Android
    rust 程序也能算脚本?
    invalid
        2
    invalid  
       306 天前
    好用吗,试试
    lhx2008
        3
    lhx2008  
       306 天前
    看了下好复杂,还是 python 合适
    needpp
        4
    needpp  
       306 天前
    其他条件相同的情况下,执行速度会比 nodejs 更快吗?
    unknown666
        5
    unknown666  
    OP
       306 天前
    @lhx2008 本来用 Python 写的
    unknown666
        6
    unknown666  
    OP
       306 天前
    @needpp
    Silently
        7
    Silently  
       306 天前
    dm-ticket 镜像少预装了 curl 导致连不上 token
    unknown666
        8
    unknown666  
    OP
       306 天前
    @Silently 不是 curl 的问题
    Silently
        9
    Silently  
       306 天前
    @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
       306 天前
    @Silently 那是 token-server 还没有启动完成。等一会就行了。
    Silently
        11
    Silently  
       306 天前
    @unknown666 抱歉 确实
    zerone0086
        12
    zerone0086  
       305 天前


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