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

2016-09-28 19:15:59 +08:00
 hxnmdc

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

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

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

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

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/309606

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX