情人节单身的我是如何在敲完代码之后收到12束玫瑰的(javascript)

废话不多说了,先给大家展示下效果图:

总结,本篇是要介绍的一个刷星星(闪存里面的)的脚本,用于挂机刷星星。在七夕就是刷的玫瑰,所以绝不是标题党,就让我带大家一起刷星星吧!

一、 发送消息

看请求并自己模拟发送

$.post("http://ing.cnblogs.com/ajax/ing/Publish",   //地址
 JSON.stringify({ "content": content, "publicFlag": 1 }), //参数,json格式字符串
 function (result) {          //回调
  console.log("..............发送成功了,接下来判断是否有星星");
  result && result.IsSuccess && judgeStar(content)
 }, "json");            //返回的内容转成js对象

二、 判断刚刚发的消息是否有幸运闪

仍然是看图说话,照着做

请求地址是:http://ing.cnblogs.com/ajax/ing/GetIngList?IngListType=all&PageIndex=1&PageSize=30&Tag=&_=1440087133884

由命名可知(也确实如此),可以选择类型(我的,我回应,新回应,提到我,回复我,全站),第几页,每页数量。最后一个是时间戳。

我们模拟请求:

$.ajax({
   url: "http://ing.cnblogs.com/ajax/ing/GetIngList?IngListType=all&PageIndex=1&PageSize=3&Tag=&_=" + (+new Date),
   type: "get",
   dataType: "text",
   success: function (result) {
    //处理的逻辑<br>    //window.doc=$(result); //可以在控制台看看出来的是什么鬼
   }
  });

之所以用 dataType:"text" 是因为:

返回的是一段html代码,使用$(result)在控制台可以看到是分为3部分,我们需要找到刚刚发送的部分,并判断是否有幸运闪。我这里只选择获取前3条来判断,如果有3个人以上刚刚跟我一起刷闪存,那我就找不到啦...所以可以让每页多一点数量。

这是我找到并判断是否有星星的代码:

var feedDiv = $(result).eq(2);
    var msgSpan = feedDiv.find("span:contains('" + msg + "')");
    //这样找其实不严谨,尤其在大晚上的找的全是自己的...
    if (msgSpan.length > 0) {
     console.log("..............找到发送的闪存,开始判断");
    } else {
     console.log("..............未找到发送的闪存,可能脚本错误");
    }
    var id = msgSpan.attr("id").match(/body_(\d+)$/)[1];
    if (msgSpan.next("img.ing_icon_lucky").length > 0) {
     console.log("..............幸运闪 +1 【星星】");
    } else {
     //没找到星星,看来运气不好。那么就把刚刚那条删除吧!!!
    }

三、 删掉刚刚那个没有星星的“废”闪存

对于只要星星(玫瑰)的人来说,没用的就扔掉吧...

这个我也不发图了,直接上代码:

//删除闪存
function delMsg(id) {
 console.log("..............没有星星,删除该闪存,id为" + id);
 return $.post("http://ing.cnblogs.com/ajax/ing/del", JSON.stringify({ ingId: id }));
}

四、 总结

能否获取“星星”,真的跟脸有关,我6分钟刷一次,刷一下午一晚上才十几个。

现在是12点43,我很忐忑。我公司电脑挂这个脚本一直刷,我在家里看着没办法,不知道明天会不会小黑屋......明天早上早点去停了吧。

而且不知道是不是浏览器卡主了,偶尔有几个没有星星,它也没删掉...

以下是完整代码:

function memeda(input) {
 var times = 0;
 shuaXingXing(input);
 function shuaXingXing(content) {
  sendMsg(content);
  setInterval(function () {
   sendMsg(content);
  }, 1000 * 60 * 6 + 100);
 }
 //发送闪存消息
 function sendMsg(content) {
  console.log("....................................................................");
  times++;
  console.log("当前时间:" + new Date().toLocaleTimeString() + "  第" + times + "次发送闪存");
  console.log("..............发送闪存");
  return $.post("http://ing.cnblogs.com/ajax/ing/Publish", JSON.stringify({ "content": content, "publicFlag": 1 }), function () { }, "json")
   .done(function (result) {
    console.log("..............判断是否有星星");
    result && result.IsSuccess && judgeStar(content)
   });
 }
 //判断是否有星星
 function judgeStar(msg) {
  $.ajax({
   url: "http://ing.cnblogs.com/ajax/ing/GetIngList?IngListType=all&PageIndex=1&PageSize=3&Tag=&_=" + (+new Date),
   type: "get",
   dataType: "text",
   success: function (result) {
    var feedDiv = $(result).eq(2);
    var msgSpan = feedDiv.find("span:contains('" + msg + "')");
    if (msgSpan.length > 0) {
     console.log("..............找到发送的闪存,开始判断");
    } else {
     console.log("..............未找到发送的闪存,可能脚本错误");
    }
    var id = msgSpan.attr("id").match(/body_(\d+)$/)[1];
    if (msgSpan.next("img.ing_icon_lucky").length > 0) {
     console.log("..............幸运闪 +1 【星星】");
    } else {
     delMsg(id);
    }
   }
  });
 }
 //删除闪存
 function delMsg(id) {
  console.log("..............没有星星,删除该闪存,id为" + id);
  return $.post("http://ing.cnblogs.com/ajax/ing/del", JSON.stringify({ ingId: id }));
 }
}

以上就是本文情人节单身的我是如何在敲完代码之后收到12束玫瑰的,希望大家喜欢。

(0)

相关推荐

  • javascript+HTML5的canvas实现七夕情人节3D玫瑰花效果代码

    本文实例讲述了javascript+HTML5的canvas实现七夕情人节3D玫瑰花效果.分享给大家供大家参考.具体如下: 下面的玫瑰绘制用到了HTML 5的canvas,所以你的浏览器需要支持HTML 5.个人还是比较推荐chrome,这个效果在Firefox下也会稍卡. 效果图: 演示地址:http://demo.jb51.net/js/2015/js-flower-canvas.html 具体代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML

  • 情人节单身的我是如何在敲完代码之后收到12束玫瑰的(javascript)

    废话不多说了,先给大家展示下效果图: 总结,本篇是要介绍的一个刷星星(闪存里面的)的脚本,用于挂机刷星星.在七夕就是刷的玫瑰,所以绝不是标题党,就让我带大家一起刷星星吧! 一. 发送消息 看请求并自己模拟发送 $.post("http://ing.cnblogs.com/ajax/ing/Publish", //地址 JSON.stringify({ "content": content, "publicFlag": 1 }), //参数,jso

  • Asp.net中的GridView导出遇到的两个问题和解决方法

    对于GridView导出的内容的代码大致如下: Response.Clear(); Response.Buffer = true; Response.Charset = "GB2312"; Response.AppendHeader("Content-Disposition", "attachment;filename=" + fileName + ".xls"); Response.ContentEncoding = Sys

  • Pycharm 解决自动格式化冲突的设置操作

    原先的ctrl+alt+L容易和各种软件的快捷键冲突 在setting--keymap--右边搜索栏搜索Reformat Code就会出现该设置键,点击可进行修改,现在18版的Pycharm新添加了一个ctrl shift F,就用这个就好了. 补充:TIM快捷键和pycharm格式化快捷键冲突问题 TIM快捷键和pycharm格式化快捷键冲突问题 每次敲完代码,想要格式化时,当我同时按下Ctrl + Alt +L时,代码并没有格式化,而是会弹出TIM的锁定页面,气煞我也,然后,我就去求助博学的

  • idea对CPU的占用率过大问题的解决方法

    背景:昨晚有一次敲完代码运行完程序后,idea非常卡顿,连输入代码都不能进行,因为有点晚并且累了,所有就关了电脑,今天早上再次打开idea,还是一样卡顿,因为idea的试用期明天就到期了,所有就先破解了idea,破解完之后,还是非常流畅的,但是一运行程序就拉胯了,就先百度看一下解决方案,以下几个解决方案试了,基本问题还是没有解决,就在群里问了几个大佬,方案不是重装系统就是换电脑,同时开始了电脑的配置讨论,重装系统和换电脑的什么是不可能的,所有只有自己慢慢摸索了. 1 修改idea配置文件安装目录

  • VScode配置C语言环境完整版(亲测可用)

    一.首先下载vscode,地址:https://code.visualstudio.com/ 此时我已经安装好了 二.对VSCode进行汉化安装插件Chinese安装之后会显示让你重启VScode 三.随后依旧是这里的搜索框,搜索"C/C++",安装C/C++插件和Code Runner插件 四.装完插件后,我们需要下载minGw,这是一个Windows头文件和GNU工具的集合.VScode如果要运行C代码说白了就是个大脚本,不用我们一行一行敲执行代码了,所以我们需要进行配置.直接在百

  • 情人节专属 纯js脚本1k大小的3D玫瑰效果

    前年圣诞节上,西班牙程序员Roman Cortes带来了用纯javascript脚本编写的神奇3D圣诞树,令人印象深刻.2月14日情人节就要来临了,还是Roman Cortes,这次他又带来了用javascript脚本编写的红色玫瑰花.用代码做出的玫瑰花,这才是牛逼程序员送给女友的最好情人节礼物呢!(提示:在不同浏览器下观看效果.速度会有很大的不同) 图片是由代码生成,用户可以刷新该页面,重复观看这朵玫瑰的呈现过程. 3D玫瑰花的实现代码如下: with(m=Math)C=cos,S=sin,P

  • 动力节点_王勇_DRP项目视频教程完整版292集

    该视频由国内知名讲师王勇老师主讲,适合掌握Java基础内容的同学学习,本视频共计292集,该视频是Java培训领域中技术涉及面最广,讲解最透彻,资料最完整的视频,DRP视频在Java培训领域中产生了非常大的影响,学习Java Web项目,DRP项目视频是首选,累计下载量已经达到上千万,很多同学通过自学该视频找到了软件开发工作. 000_00_动力节点_王勇_Java项目视频_DRP完整版-视频观看说明 000_01_动力节点_王勇_Java项目视频_DRP完整版_资料_DRP所有版本及示例源代码

  • 在Oracle网络结构解决连接问题

    正在看的ORACLE教程是:在Oracle网络结构解决连接问题.最近看到好多人说到tns或者数据库不能登录等问题,就索性总结了下面的文档. 首先来说Oracle的网络结构,往复杂处说能加上加密.LDAP等等..这里不做讨论,重点放在基本的网络结构也就是我们最常用的这种情况 三个配置文件 listener.ora.sqlnet.ora.tnsnames.ora ,都是放在$ORACLE_HOME\network\admin目录下. 重点:三个文件的作用和使用 #------------------

  • 如何学JavaScript?前辈的经验之谈

    鉴于时不时,有同学私信问我怎么学前端的问题. 这里统一回复一下,如下次再遇到问我此问题同学,就直接把本文链接地址发给你了. 首先说句题外话.关于有人管我叫大神的事情. 个人感觉这跟你买东西时,人家管你叫帅哥一样,你答应与否都无妨. 正题开始,前端怎么学,应该因人而异,别人的方法未必适合自己. 就说说我的学习方法吧. 我把大部分时间放在学习js上了.因为这个js的学习曲线,先平后陡. 项目实践和练习啥的,我不说了,主要说下工作之外的时间利用问题. 我是怎么学的呢,看书,分析源码. 个人这几天统计了

  • Docker下安装ElasticSearch和Kibana的示例代码

    1.前言 现在elasticsearch是比较火的,很多公司都在用,所以如果说还不知道es可能就会被人鄙视了.所以这里我就下决心来学习es,我比较钟爱于docker所有也就使用了docker来安装es,这里会详细介绍下安装的细节以及需要注意的地方.关于docker的安装在这里我就不去说明了,可以自行安装一下就可以了,很简单的,我保证你真的可能会爱上它.这里我使用的电脑是MacBook Pro 如果是linux的话其实基本相同,如果是Windows的话,可能就不太一样了,这里我也没有实际操作过,感

随机推荐