漫画:如何用脚本抢月饼?

简介: 如何每隔一段时间让抢购按钮自动被点击呢?很简单,原生Javascript当中有一个定时器函数 setInterval,该函数有两个参数,第一个参数是想要执行的回调函数,第二个参数是触发执行的间隔时间(单位毫秒),抢月饼脚本简单的实现。


中秋节前夕,公司为内部员工提供了在线抢月饼的活动......


640.jpg


公司里,恰好有一位调皮的程序员......

640.jpg

640.jpg640.jpg



随后,这位调皮的员工埋头研究了一下下......

640.jpg




很快就到了抢月饼活动开始的时间,脚本的效果出人意料的好......

640.jpg



可是,事情已经没那么简单了。很快,员工被叫去约谈......

640.jpg640.jpg640.jpg640.jpg


这位调皮员工的经历被传到网上,引起了很多人的关注。小灰和同学之间也在饶有兴致地谈论这件事......

640.jpg640.jpg640.jpg640.jpg640.jpg

首先,让我们来模拟一下当时的内部员工抢月饼活动页面。当然,真正的活动页面肯定不会这么简单,在此只是做个简化的示例:

640.jpg




页面的HTML代码如下:


640.jpg

如何每隔一段时间让抢购按钮自动被点击呢?很简单,原生Javascript当中有一个定时器函数 setInterval,该函数有两个参数,第一个参数是想要执行的回调函数,第二个参数是触发执行的间隔时间(单位毫秒)。

因此,抢月饼脚本简单的实现如下:

640.jpg

640.jpg640.jpg640.jpg640.jpg


如何在页面中嵌入自己写的Javascript脚本呢?下面分别介绍一下在Chrome和Firefox两种浏览器上的操作步骤:


Chrome:


1. 打开chrome扩展程序页 - chrome://extensions

2. 将刚才的自定义脚本保存为以user.js为后缀的 .js文件,例如test.user.js,拖入扩展程序页。

3. 重启浏览器。

4. 进入月饼抢购活动页面。此时脚本已自动执行。


640.jpg

image.gif


FireFox:


1. 下载并安装用户脚本管理插件 greasemonkey (中文翻译成“油猴子”)。

2. 重启浏览器。

3. 将刚才的自定义脚本保存为 .js文件,例如test.user.js,拖入页面空白处。

4. 进入月饼抢购活动页面。此时脚本已自动执行。

image.gif

640.jpg


image.gif640.jpg640.jpg640.jpg640.jpg




关于验证码:


在一般的网页中,为了防刷,都会在提交请求之前让用户输入动态的验证码:


640.jpgimage.gif


动态验证码有效防止了绝大多数JS脚本的自动提交行为。如果它的干扰线和扭曲效果实现得足够好,即使用OCR图像文字识别技术也很难破解。动态验证码的生成和验证流程如下:


640.jpgimage.gif



由于每次看到的抢购页面里的验证码都不相同,所以很难用自动化脚本攻克。可是,如果抢购页面的开发人员偷懒,只是在抢购页面里引用了固定不变的验证码图片,那么请求和验证流程就变成了下面的样子:

640.jpg

这样一来,只要知道静态的验证码是什么,脚本就可以轻松填写正确的验证码。


相关文章
|
7月前
|
移动开发 前端开发 JavaScript
童年回忆——开心消消乐(内含源码inscode一键运行)
童年回忆——开心消消乐(内含源码inscode一键运行)
|
7月前
|
前端开发 JavaScript 程序员
程序员教你用代码制作圣诞树,正好圣诞节拿去送给女神给她个惊喜
使用HTML、CSS和JavaScript实现了一个圣诞树效果,包括一个闪烁的圣诞树和一个动态的光斑。代码包含一个<div>元素作为遮罩,一个<canvas>元素绘制星星动画,以及一个SVG元素绘制圣诞树。页面还包含一个提示用户先点赞再观看的提示。此效果适用于任何浏览器,推荐使用谷歌浏览器。提供了一段HTML代码,可以直接复制粘贴到文件中并以.html格式打开查看效果。
233 0
|
数据采集 Web App开发 XML
干了这碗“美丽汤”,网页解析倍儿爽
HTML 文档本身是结构化的文本,有一定的规则,通过它的结构可以简化信息提取。于是,就有了lxml、pyquery、BeautifulSoup等网页信息提取库。一般我们会用这些库来提取网页信息。
|
编解码 Python
Python3,我把新年祝福写在“雨“中,你看,雨一直下,气氛还算融洽,在同个屋檐下....
Python3,我把新年祝福写在“雨“中,你看,雨一直下,气氛还算融洽,在同个屋檐下....
66 0
|
开发工具 Python
为了追学姐,用python把她的照片做成了拼图游戏,她看了...
为了追学姐,用python把她的照片做成了拼图游戏,她看了...
155 0
|
数据采集 机器学习/深度学习 NoSQL
火车票被秒光,别慌!快用Python来抢票!
火车票被秒光,别慌!快用Python来抢票!
|
程序员 C语言 C++
电视剧里的代码真能运行吗?
虽然剧中说是“C语言期中考试”,但这位同学的代码名叫 draw2.py,一个典型的 Python 文件,再结合截图中的 pen.forward、pen.setpos 等方法来看,应该是用 turtle 海龟作图库来画爱心。
|
前端开发 容器
「CSS畅想」好友想回忆童年,安排~为她做了一个果宝特攻的换装
端技术从业者与非技术好友互动,好友想回忆童年,我为她用CSS技术做了一个果宝特攻的换装
192 1
|
小程序 数据库
喜欢看球,那就手撸一个看球小程序系统
一,系统展示;二,小程序端代码;三,后端代码;四,数据库;五,手把手教你学习
119 0
喜欢看球,那就手撸一个看球小程序系统