您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Gamersky comments photo save!
// ==UserScript== // @name Gamersky comments photo save // @namespace http://tampermonkey.net/ // @version 0.2 // @description Gamersky comments photo save! // @author Andiest ziu // @match *.gamersky.com/* // @grant none // ==/UserScript== (function() { 'use strict'; if(location.href == 'https://www.gamersky.com/ent/qw/'){ setInterval(function(){ let now_time = (new Date()).valueOf(); let url = 'https://db2.gamersky.com/LabelJsonpAjax.aspx?jsondata={"type":"updatenodelabel","isCache":false,"nodeId":"20113","isNodeId":"true","page":1}&_=' + now_time; fetch(encodeURI(url)).then(function(response) { return response.text(); }).then(function(myJson) { var load_data = eval(myJson); document.getElementsByClassName("contentpaging")[0].innerHTML = load_data.body; }); },2000); } function insertAfter(newElement,targetElement){ var parent = targetElement.parentNode; // 如果最后的节点是目标元素,则直接添加 if(parent.lastChild == targetElement){ parent.appendChild(newElement) }else{ //如果不是,则插入在目标元素的下一个兄弟节点 的前面 parent.insertBefore(newElement,targetElement.nextSibling) } } var start_btn = document.createElement("a"); start_btn.setAttribute("id","btn_start_haha"); start_btn.setAttribute("href","javascript:;"); start_btn.innerHTML = '开始'; var hahadiv = document.createElement("div"); hahadiv.setAttribute("id","hahadiv"); var commentsCount = 0; var result = location.pathname.match(/\/(\d*)\./); var article_num = result[1]; var handle_result = function(photo_list){ let html = ''; for(var haha in photo_list){ if( String(photo_list[haha].img_url).indexOf("http") != -1 ) html += '<div><img src="' + photo_list[haha].img_url + '" title="' + photo_list[haha].title + '" width="100%"/></div>'; } if( have_load == 0 ){ document.getElementById("hahadiv").innerHTML = html + document.getElementById("hahadiv").innerHTML; }else{ hahadiv.innerHTML += html; insertAfter(hahadiv, document.getElementById("SOHUCS")); } }; var commit_list = localStorage.getItem('commit_list' + article_num); var init_count = 0; var total_photo_list = []; var photo_list = []; var pageIndex = 1; var max_comment_id = 0; var have_load = 1; var settime_ajax = function(){ setTimeout(function(){ have_load = 0 var now_time = (new Date()).valueOf(); var request = { "articleId":article_num, "minPraisesCount":0, "repliesMaxCount":10, "pageIndex":1, "pageSize":10, "order": "createTimeDESC" }; var url = encodeURI('https://cm.gamersky.com/appapi/GetArticleCommentWithClubStyle?request=' + JSON.stringify(request) + '&_=' + now_time); load_data(url); },1000); } if(commit_list != null ){ commit_list = JSON.parse(commit_list); console.log(commit_list); init_count = commit_list.commentsCount; total_photo_list = commit_list.photo_list; max_comment_id = commit_list.max_comment_id; pageIndex = Math.ceil(init_count / 10); insertAfter(start_btn,document.getElementById("SOHUCS")); start_btn.onclick = function(){ this.remove(); handle_result(total_photo_list); settime_ajax(); } }else{ commit_list = {}; insertAfter(start_btn,document.getElementById("SOHUCS")); let now_time = (new Date()).valueOf(); let num = '18308087865817357132'; let callback = 'jQuery' + num + '_' + now_time++; var request = { "articleId":article_num, "minPraisesCount":0, "repliesMaxCount":10, "pageIndex":1, "pageSize":10, "order": "createTimeDESC" }; let url = encodeURI('https://cm.gamersky.com/appapi/GetArticleCommentWithClubStyle?request=' + JSON.stringify(request) + '&_=' + now_time); start_btn.onclick = function(){ this.remove(); load_data(url); } } var load_data = function(url){ fetch(url).then(function(response) { return response.json(); }).then(function(myJson) { photo_list = []; let list = myJson.result.comments; for(var l_i in list){ if( typeof list[l_i].comment_id == 'undefined' ) continue; if( have_load == 0 && max_comment_id >= Number(list[l_i].comment_id)) continue; if( Number(list[l_i].comment_id) > max_comment_id) max_comment_id = Number(list[l_i].comment_id); let img_list = list[l_i].imageInfes; if(typeof img_list == 'undefined'){ continue; } if(img_list.length == 0){ continue; } for(var i in img_list){ if(typeof img_list[i].origin != 'undefined'){ var tmp = { "title":list[l_i].content, "img_url":img_list[i].origin }; photo_list.push(tmp); total_photo_list.unshift(tmp); } } } //console.log(photo_list); // 加载下一页 commentsCount = Number(myJson.result.commentsCount); if(photo_list.length > 0) { handle_result(photo_list); //保存数据 commit_list.commentsCount = commentsCount; commit_list.photo_list = total_photo_list; commit_list.max_comment_id = max_comment_id; localStorage.setItem('commit_list' + article_num, JSON.stringify(commit_list)); } //开始下一轮 if( have_load == 1){ let page_num = Math.ceil(commentsCount / 10); //console.log(commentsCount,page_num,pageIndex); if(pageIndex <= page_num){ pageIndex++; }else{ pageIndex = 1; have_load = 0; } var now_time = (new Date()).valueOf(); var request = { "articleId":article_num, "minPraisesCount":0, "repliesMaxCount":10, "pageIndex":pageIndex, "pageSize":10, "order": "createTimeDESC" }; var url = encodeURI('https://cm.gamersky.com/appapi/GetArticleCommentWithClubStyle?request=' + JSON.stringify(request) + '&_=' + now_time); load_data(url); }else{ settime_ajax(); } }); }; })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址