--- 那就先上圖吧html
總結,本篇是要介紹博主的一個刷星星(閃存裏面的)的腳本,用於掛機刷星星。在七夕就是刷的玫瑰,因此毫不是標題黨,就讓我帶你們一塊兒刷星星吧!ajax
$.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
json
由命名可知(也確實如此),能夠選擇類型(個人,我回應,新迴應,提到我,回覆我,全站),第幾頁,每頁數量。最後一個是時間戳。 promise
$.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) { //處理的邏輯
//window.doc=$(result); //能夠在控制檯看看出來的是什麼鬼 } });
之因此用 dataType:"text" 是由於:瀏覽器
返回的是一段html代碼,使用$(result)在控制檯能夠看到是分爲3部分,咱們須要找到剛剛發送的部分,並判斷是否有幸運閃。我這裏只選擇獲取前3條來判斷,若是有3我的以上剛剛跟我一塊兒刷閃存,那我就找不到啦...因此可讓每頁多一點數量。oop
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,我很忐忑。我公司電腦掛這個腳本一直刷,我在家裏看着沒辦法,不知道明天會不會小黑屋......明天早上早點去停了吧。
並且不知道是否是瀏覽器卡主了,偶爾有幾個沒有星星,它也沒刪掉... post
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("https://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: "https://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 delA = feedDiv.find("a.recycle"); if (delA.length > 0) { console.log("..............找到發送的閃存,開始判斷"); } else { console.log("..............未找到發送的閃存,可能腳本錯誤"); } var id = delA.attr("onclick").match(/DelIng\((\d+)\)$/)[1]; if (delA.prev("img.ing_icon_lucky").length > 0) { console.log("..............幸運閃 +1 【星星】"); } else { delMsg(id); } } }); } //刪除閃存 function delMsg(id) { console.log("..............沒有星星,刪除該閃存,id爲" + id); return $.post("https://ing.cnblogs.com/ajax/ing/del", JSON.stringify({ ingId: id })); } }
// 更新於:2017/12/21 var ing = (function () { /** * 發佈閃存 * * @param {string} content * @returns {promiseLike} */ function publishTxt(content) { var url = 'https://ing.cnblogs.com/ajax/ing/Publish'; var dfd = $.Deferred(); console.log('-----------------------------------------'); console.log('...發送閃存'); $.post(url, { content: content, publicFlag: 1 }, function (result) { if (result.isSuccess) { console.log('...發送成功'); dfd.resolve(); } else { console.log('...發送失敗'); dfd.reject(); } }, 'json'); return dfd; } function checkHasStarAndDel() { var url = 'https://ing.cnblogs.com/ajax/ing/GetIngList?IngListType=my&PageIndex=1&PageSize=30&Tag=&_=' + +new Date; console.log('...檢測是否有星星'); $.get(url, function (result) { var $ele = $(result).eq(2); var $feedBody = $ele.find('ul>li:first .feed_body'); // wrap var hasStar = $feedBody.children('.ing-icon').length; // 是否有star var id = $feedBody.attr('id').replace('feed_content_', ''); if (!hasStar) { delIng(id); console.log('...沒有star,刪除'); } else { console.log('..............'); console.log('【星星】 +1') console.log('..............'); } console.log('-----------------------------------------'); }, 'html'); } function delIng(ingId) { $.post('/ajax/ing/del', { ingId: ingId }); } return { send: function (content) { publishTxt(content).then(checkHasStarAndDel); }, loop: function (content, interval) { var self = this; self.send(content); return setInterval(function () { self.send(content); }, interval); } }; })();
您有沒有對這篇文章感興趣呢?this
url
.spa