问一下写抢月饼的代码需要哪些知识? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hxnmdc
V2EX    问与答

问一下写抢月饼的代码需要哪些知识?

  •  
  •   hxnmdc 2016-09-28 19:15:59 +08:00 4548 次点击
    这是一个创建于 3304 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我本科阶段是数学系的,编程经验仅限于 C++ 和 Weiss 的那本数据结构,所以前段时间看到饼场的大牛可以写抢月饼的代码感觉很高级。我本来以为这个东西是学了 HTML 和 CSS 就能写出来这样的脚本,可是前两天去 w3c 上浏览了几页发现它们好像是讲怎么写一个网页啊,很好奇学了什么之后才能抢月饼。。。

    希望大家能指点一下,先谢谢各位了大神了。

    35 条回复    2016-09-29 17:56:48 +08:00
    b821025551b
        1
    b821025551b  
       2016-09-28 19:18:37 +08:00   1
    需要一个很不负责的前端。
    https://zhuanlan.zhihu.com/p/22644277
    hxnmdc
        2
    hxnmdc  
    OP
       2016-09-28 19:25:45 +08:00 via iPhone
    @b821025551b 这是 Javascript 吗? 我看了一下为什么一个对象有什么多方法。。而且还一层一层的,你们都是背过的么。。
    chemzqm
        3
    chemzqm  
       2016-09-28 19:31:08 +08:00
    @hxnmdc 就是些 jquery 的 API , 使用原生 DOM 写起来要麻烦一些
    WhoMercy
        4
    WhoMercy  
       2016-09-28 19:37:46 +08:00 via Android
    @hxnmdc
    本质上是:循环判断页面的特定数据(倒计时),当特定数据到达某种状态(倒计时完毕)时,提交请求(下单购买)。
    需要的知识:有网页知识,你要知道从哪取数据;有网络知识,你要知道怎么封装数据提交请求(通过接口不通过页面)。
    btw,js 和语言都能做到这些,区别是有的语言实现起来方便快捷。而脚本精灵这种…效率太低。
    nlzy
        5
    nlzy  
       2016-09-28 19:38:43 +08:00 via Android
    Javascript 和 jQuery
    hxnmdc
        6
    hxnmdc  
    OP
       2016-09-28 19:42:06 +08:00
    @chemzqm 勉强百度明白了 jquery 和 dom 的意思,感觉好高深~
    hxnmdc
        7
    hxnmdc  
    OP
       2016-09-28 19:44:07 +08:00
    @WhoMercy var value = $(".answerList").children().eq(0).html(); //验证码取值
    这个是获得验证码的值? 为什么这么简单。。。 我怎么记得获得验证码的值是一件很麻烦的事情啊,不是要进行图像处理什么的么?我记得机器学习里还有专门的算法,为啥一行就搞定了。。
    ByZHkc3
        8
    ByZHkc3  
       2016-09-28 19:47:27 +08:00
    需要基本的 js+jquery+HTML 基础知识就好了。
    ikw
        9
    ikw  
       2016-09-28 19:48:38 +08:00 via iPhone
    @hxnmdc 因为月饼验证码直接可以再网页看到
    WhoMercy
        10
    WhoMercy  
       2016-09-28 19:48:51 +08:00 via Android
    @hxnmdc
    所以说这件事其实负责做活动写页面的人也有问题。
    他们直接把验证码明文写到了页面里,不需要对验证码进行识别,直接就能取到
    现在看来,更感觉是像在钓鱼。
    t6attack
        11
    t6attack  
       2016-09-28 19:50:26 +08:00
    熟练使用任何一门脚本语言即可。另外,这不是语言的问题,是互联网服务整体原理的理解。

    非得往 C++上靠也可以。 web 服务器、 JS 解释引擎、浏览器、脚本语言,都是 C/C++写的。你可以读一读它们的源码。
    hxnmdc
        12
    hxnmdc  
    OP
       2016-09-28 19:55:57 +08:00
    @WhoMercy
    @zwpaper
    原来是这样,谢谢两位大神解惑。
    hxnmdc
        13
    hxnmdc  
    OP
       2016-09-28 19:57:27 +08:00
    @t6attack 哈哈 虽说我学过 C++ 但是也已经 2 年没用过了,最近一直在用 matlab 。。
    源码这两个字看上去就感觉很恐怖的样子
    hxnmdc
        14
    hxnmdc  
    OP
       2016-09-28 19:59:29 +08:00
    另外问一下大家,这些东西都是上大学的时候的课程吗?还是大家自学的。 为什么我感觉我们学校计算机系没有开这方面的课啊,只看到一门“网络程序设计”在选修里面,不知道有没有关系。
    popok
        15
    popok  
       2016-09-28 20:05:52 +08:00
    用的就是 jquery 的选择器,用原生的 js 也行,就是没那么方便
    lxy
        16
    lxy  
       2016-09-28 20:07:31 +08:00
    很简单的 js 代码,写不出来的前端是不合格的,甚至不做前端的我都可以写……自己看了一些阮一峰的教程就了解了, jQuery 也不难。做这个抢月饼页面的人要么是非常懒,要么就是笨蛋……
    popok
        17
    popok  
       2016-09-28 20:08:02 +08:00
    @hxnmdc 这些东西应该是偏向前端的吧,学过 Javascript 的一般都知道吧。
    zythum
        18
    zythum  
       2016-09-28 20:10:04 +08:00
    @hxnmdc 都是写熟的。你每天写个几十遍你也熟。
    isbase
        19
    isbase  
       2016-09-28 20:23:06 +08:00 via Android
    入门级的,用 jQuery 就更简单了
    Jakesoft
        20
    Jakesoft  
       2016-09-28 21:00:05 +08:00
    @WhoMercy 不敢相信把验证码放在页面上,我觉得那个 div 可能就是一个输入框,抢月饼时,把正确的验证码输入进去,然后使用 setInterval 多次模拟点击,可见验证码是可以多次被使用。

    @hxnmdc 你所说的是链式操作吧,比如说 $('div').children().eq(0).find(''a").text()这种,前面的 children,eq,find 也好,其实他们返回的都是一个节点对象,只是每次调用不同的方法,返回的节点都不一样,任何节点对象都是有 children,eq,find,text 方法的
    loy6491
        21
    loy6491  
       2016-09-28 22:08:07 +08:00
    总感觉你在装嫩。。
    wdlth
        22
    wdlth  
       2016-09-28 22:37:12 +08:00
    延迟这么短,直接刷爆了吧……
    zzNucker
        23
    zzNucker  
       2016-09-29 00:33:03 +08:00
    @Jakesoft 你不用不敢相信,这就是个事实。
    PureDark
        24
    PureDark  
       2016-09-29 04:03:39 +08:00
    阿里写秒杀页面的 lowB 把人害惨了 斜眼
    paranoiagu
        25
    paranoiagu  
       2016-09-29 07:57:26 +08:00 via Android
    @PureDark 是的。
    iTakeo
        26
    iTakeo  
       2016-09-29 08:28:24 +08:00 via iPhone
    你把 jq 的 API 看一遍,你也会写了
    lwbjing
        27
    lwbjing  
       2016-09-29 09:45:23 +08:00
    可能是抢月饼技术被黑的最惨的一次...
    ycxgmail
        28
    ycxgmail  
       2016-09-29 09:46:22 +08:00
    可能是抢月饼技术被黑的最惨的一次..
    sudo123
        29
    sudo123  
       2016-09-29 10:26:35 +08:00
    不知道按键精灵行不行……
    houskii
        30
    houskii  
       2016-09-29 13:04:22 +08:00
    @hxnmdc 计算机系很少直接教编程语言的课,最多教个面向对象带你入门。大多数都是计算机体系的知识,像现在流行的开发工作知识都是要自学的
    imn1
        31
    imn1  
       2016-09-29 13:52:47 +08:00
    1.《劳动法》
    2.《劳动合同法》
    3.《办公室政治》
    4.卓别林《大独裁者》
    这才是正确的知识点啊……
    exch4nge
        32
    exch4nge  
       2016-09-29 17:09:42 +08:00
    现在浏览器开发者工具做的太良心,用来学 HTML Javascript css 太爽。先了解 html DOM 还有 Javascript 吧,抢月饼的这种可以用 userscript 做。
    Felldeadbird
        33
    Felldeadbird  
       2016-09-29 17:32:38 +08:00
    你只要知道怎样 用 jquery 修改页面的效果
    YvesX
        34
    YvesX  
       2016-09-29 17:54:41 +08:00
    饼厂抢月饼和一般的秒杀是不太一样的,你很难见到这样只恶心人不妨碍机器的验证措施了……
    针对饼厂而言,你把 W3C 再翻几页没准就会写了。写网页时需要提供一些脚本让浏览器来跑,这样就有了“动作”。抢月饼时,你自己给浏览器提供一些脚本来跑,浏览器就会执行你要的“动作”。这个脚本语言叫做 js ……
    简单吧。所以比起技术,要吃该厂月饼,价值观比较重要。
    hlg002
        35
    hlg002  
       2016-09-29 17:56:48 +08:00
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1523 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 16:38 PVG 00:38 LAX 09:38 JFK 12:38
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86