首页 > 编程 > JavaScript > 正文

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

2019-11-20 11:46:23
字体:
来源:转载
供稿:网友

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

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

一、 发送消息

看请求并自己模拟发送

$.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束玫瑰的,希望大家喜欢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表