优惠券 js代码分析

今天看到一段js代码,是关于抢淘宝代金券的js代码,发现这段代码不是很长,但是很具有代表性,
类似于网络爬虫程序,由于代码不长,对于理解爬虫程序很有帮助,很容易认识爬虫程序的基本原则。
然后分析了下这段代码。
下面贴出代码,并附上我的一些注释。
 1 (function(window, document, undefined) {
 2 var interval = 800;  //设置等待时间
 3 var closeDelay = 200;  //设置等待时间
 4 var index = 0;   //定义索引,从0开始
 5 var couponLinks;   //定义数组,存储优//惠卷的值
 6 /**
 7  * 定义获取优惠卷的方法
 8  */
 9 var getCoupon = function() {
10 if (index >= couponLinks.length) {
11 console.log("领取完毕");
12 return;
13 }
14 var coponLink = couponLinks[index];
15 coponLink.click();//模拟点击事件
16 index++;
17 console.log("领取 第" + index + " 张");
18 //以下setTimout定时函数,定时调用getCoupon()
19 setTimeout(getCoupon, interval);
20 //获取点击领取优惠券以后,关闭对话框!
21 setTimeout(function() {
22 var close = document.querySelector('.mui-dialog-close');
23 if (close != null) close.click();
24 }, closeDelay);
25 }
26 //定义滚动条的垂直位置,初始值设为0。
27 var _scrollTop = 0;
28 //获取页面高度
29 var _scrollStep = document.documentElement.clientHeight;
30 //body对象的高度-可见区域高度
31 //试试document.body.scrollHeight?
32 var _maxScrollTop = document.body.clientHeight - document.documentElement.clientHeight;
33 var autoScrollDown = setInterval(function() {
34 //移动下一个可视窗口
35 _scrollTop += _scrollStep;
36 if (_scrollTop > _maxScrollTop) {
37 //取消定时操作
38 clearInterval(autoScrollDown);
39  
40 //拿到所有的选定标签
41 couponLinks = document.querySelectorAll('.mui-act-item-yhqbtn');
42 //获取该页面的总数
43 console.log("总共:" + couponLinks.length + "条张优惠券待领取...");
44 //对该页面取值
45 getCoupon();
46 } else {
47 document.body.scrollTop = _scrollTop;
48 }
49 }, 500);
50 }) (window, document);

 

1、双十一优惠券汇总地址:
http://www.tmall.com/wow/act/14931/1111
2、按键盘上F12打开控制台,选择console标签
3、把上面这串代码复制进去,按下回车键,进入自动领券过程。

posted on 2015-10-15 18:50  润航  阅读(1713)  评论(0)    收藏  举报

导航