您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
enter something useful
// ==UserScript== // @name HF Forum Parser // @namespace http://saadtronics.com/ // @version 0.3 // @description enter something useful // @author Saad Tronics (King of Hearts) // @match http://www.hackforums.net/* // @match http://hackforums.net/* // @grant GM_xmlhttpRequest // @require http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js // ==/UserScript== $(document).ready(function(){ var toDo = []; var rows = document.getElementsByTagName('table')[0].rows; for(var i = 2; i < rows.length; i++){ var cell = rows[i].cells[1]; var forumName = (cell.getElementsByTagName('strong')[0].innerText); var forumDesc = cell.getElementsByClassName('smalltext')[0].childNodes[0].data; var forumMod = ''; var childNodes = (cell.getElementsByClassName('smalltext')[0].childNodes); var forumSubForums = []; var forumMods = []; for(var j = 0; j < childNodes.length; j++){ if(childNodes[j].nodeName == "UL"){ for(var z = 1; z < childNodes[j].childNodes.length; z++){ forumSubForums.push(childNodes[j].childNodes[z].innerText); toDo.push(forumName); } }else if(childNodes[j].nodeName == "#text"){ if(childNodes[j].nodeValue.indexOf("Mentors") > -1){ forumMods.push('Mentors'); } }else if(childNodes[j].localName == "a"){ forumMods.push(childNodes[j].innerText); } } var forumLink = (cell.getElementsByTagName('strong')[0].childNodes[0].href); var forumId = (forumLink.split('=')[1]); var forumStickies = []; var forumRules = []; var parentForum = ''; var forumPrefixes = []; $.ajax({ url: "newthread.php?fid=" + forumId, async: false, success: function (data) { var innderElement = document.createElement( 'html' ); innderElement.innerHTML = data; if(innderElement.getElementsByTagName('select').length > 0){ for (var i = 3; i < innderElement.getElementsByTagName('select')[0].childNodes.length; i+=2) { forumPrefixes.push(innderElement.getElementsByTagName('select')[0].childNodes[i].innerText); }; } } }); $.ajax({ url: forumLink, async: false, success: function(data) { var responseElement = document.createElement( 'html' ); responseElement.innerHTML = data; for(var j = 0; j < responseElement.getElementsByClassName('navigation')[0].childNodes.length; j++){ if(responseElement.getElementsByClassName('navigation')[0].childNodes[j].localName == "a"){ parentForum = responseElement.getElementsByClassName('navigation')[0].childNodes[j].innerText; } } if(data.indexOf('Important Threads') > -1){ var elements = (responseElement.getElementsByClassName('forumdisplay_sticky')); var numStickies = elements.length / 5; for(var i = 0; i < numStickies; i++){ var threadName = ''; var tid = ''; if(elements[(i*5) + 1].childNodes[1].childNodes[1].childNodes[1].innerText){ threadName = elements[(i*5) + 1].childNodes[1].childNodes[1].childNodes[1].innerText; tid = elements[(i*5) + 1].childNodes[1].childNodes[1].childNodes[1].href.split('=')[1]; }else if(elements[(i*5) + 1].childNodes[1].childNodes[1].childNodes[6].innerText){ threadName = elements[(i*5) + 1].childNodes[1].childNodes[1].childNodes[6].innerText; tid = elements[(i*5) + 1].childNodes[1].childNodes[1].childNodes[6].href.split('=')[1]; } var author = elements[(i*5) + 1].childNodes[1].childNodes[5].innerText; forumStickies.push([threadName, tid, author]); } } if(data.indexOf('Important Rules') > -1){ var table = responseElement.getElementsByClassName('tborder')[0]; for(i = 1; i < table.rows.length; i++){ forumRules.push(table.rows[i].innerText); } } var wiki = "{{ForumBox"; wiki += "\n| ForumName = " + forumName; wiki += "\n| ForumPic = " + forumName + " (Ficon).png"; wiki += "\n| ForumDesc = " + forumDesc; wiki += "\n| FID = " + forumId; wiki += "\n| Status = Open"; if(forumRules.length > 1){ wiki += "\n| Rules = "; for (var i = 0; i < forumRules.length; i++) { wiki += "\n* " + forumRules[i]; }; } for (var i = 0; i < forumMods.length; i++) { wiki += "\n| Mod"+ (i+1) +" = " + forumMods[i]; }; if(forumPrefixes.length > 1){ wiki += "\n| Prefixes = "; for (var i = 0; i < forumPrefixes.length; i++) { wiki += "\n* " + forumPrefixes[i]; }; } wiki += "\n| Tab = Coding"; wiki += "\n| ParentForum = " + parentForum; for (var i = 0; i < forumSubForums.length; i++) { if(forumSubForums[i].indexOf(0) == ' ') forumSubForums[i] = forumSubForums[i].substring(1, forumSubForums[i].length); wiki += "\n| SubForum"+ (i+1) +" =" + forumSubForums[i]; }; for (var i = 0; i < forumStickies.length; i++) { wiki += "\n| Sticky"+ (i+1) +" = <nowiki>" + forumStickies[i][0] + "</nowiki>"; wiki += "\n| StickyTID"+ (i+1) +" = " + forumStickies[i][1]; wiki += "\n| Author"+ (i+1) +" = [[" + forumStickies[i][2] + "]]"; }; wiki += "\n}}"; console.log(wiki); } }); } console.log(toDo); });