您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
采集国开形考任务的回顾试题数据
当前为
// ==UserScript== // @name 采集回顾试题答案 // @namespace http://tampermonkey.net/ // @version 0.96 // @description 采集国开形考任务的回顾试题数据 // @author Deloque // @match http://hebei.ouchn.cn/mod/quiz/review.php?attempt=* // @grant none // @license MIT // ==/UserScript== (function() { 'use strict'; function getQueryStr(name) { var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i'); var result = window.location.search.substr(1).match(reg); if (result != null) { return unescape(result[2]); } return null; } let sleep = function (time) { return new Promise((resolve) => setTimeout(resolve, time)); }; function saveContentToDisk (content, fileName) { let downLink = document.createElement('a') downLink.download = fileName let blob = new Blob([content]) downLink.href = URL.createObjectURL(blob) document.body.appendChild(downLink) downLink.click() document.body.removeChild(downLink) } sleep(500).then() let clearAns=function(str){ let s=str.replace(/@.*?:/,'@') s=s.replace(/.*?答案是 */,'') s=s.replace(/“错”/,'错误').replace(/“对”/,'正确') s=s.replace(/。$/,'') return s } let getQues = function() { var qStr='' let ques = document.querySelectorAll('.content') if (ques) { for (var que of ques){ let isQ=que.querySelector('.accesshide') if(!isQ)continue; if (isQ.textContent=='试题正文'){ let q=que.querySelector('.qtext') if(!q)break; qStr=qStr+'##'+q.textContent+"\n" let a=que.querySelector('.feedback') if(a){ qStr=qStr+clearAns('@'+a.textContent)+'\n' } } } } return qStr } let showQues = function (content) { let box = document.createElement('div') box.id='result' box.style = 'position:fixed;top:51px;left:1px;padding: 2px 6px;zIndex:9999;background:#fff' document.body.appendChild(box) let temp="<textarea id='areaResult' rows=20 cols=120>"+ content +"</textarea>" box.innerHTML=temp; }; let getCourseId=function(){ var courseid; let id=document.getElementById('alm') if(id){ courseid=id.getAttribute("courseid") }else{ let links=document.querySelectorAll('.breadcrumb-item a') var pattern=/hebei\.ouchn\.cn\/course\/view\.php\?id=/ for(var link of links){ var aHref=link.getAttribute('href') if (pattern.test(aHref)){ courseid=aHref.match(/(\d+)/)[0] break } } } return courseid } let qStr=getQues(); let courseid=getCourseId(); let fn=courseid+'_'+getQueryStr('attempt') //console.log(fn) let show=function(){showQues(qStr)}; window.addEventListener('keyup', function(event){ switch(event.code){ case 'KeyC': showQues(qStr); break case 'KeyH': document.querySelector('#result').remove() break case 'KeyS': saveContentToDisk(qStr,fn) break } }, true) let button = document.createElement('button') button.innerText = "采集数据" button.style = 'position:fixed;top:60px;right:0.9375rem; zIndex:99999;font-size: 16px;border:1px solid #dcdfe6;color:#212529;background:#fff;font-weight:400;' button.onclick = show document.body.appendChild(button); })();