extract links and images from inside the description page to the listing page
// ==UserScript== // @name Nyaa Extract Links and Images // @version 2.1 // @description extract links and images from inside the description page to the listing page // @author JasonC // @match https://nyaa.si/ // @match https://nyaa.si/?* // @match https://*.nyaa.si/ // @match https://*.nyaa.si/?* // @grant none // @namespace https://greasyfork.org/users/165799 // ==/UserScript== var pause = true; var torRows = new Array(); var torlist = document.getElementsByClassName('torrent-list')[0]; function FilterRows() { var filter = parseInt(prompt("Minimum Seeds","-1")); if (!isNaN(filter) && filter > 0){ for(var i=0;i<torlist.rows.length;i++){ if (parseInt(parseInt(torlist.rows[i].cells[5].innerText)) < filter) { torlist.deleteRow(i);i--; } } } filter = parseInt(prompt("Minimum Leeches","-1")); if (!isNaN(filter) && filter > 0){ for(var j=0;j<torlist.rows.length;j++){ if (parseInt(parseInt(torlist.rows[j].cells[6].innerText)) < filter) { torlist.deleteRow(j);j--; } } } filter = parseInt(prompt("Minimum Downloads","-1")); if (!isNaN(filter) && filter > 0){ for(var k=0;k<torlist.rows.length;k++){ if (parseInt(parseInt(torlist.rows[k].cells[7].innerText)) < filter) { torlist.deleteRow(k);k--; } } } for (var l=1;l<torlist.rows.length;l++) { torRows.push(torlist.rows[l]); } } function ExtractImage() { var containers = document.getElementsByClassName('container'); while (containers.length > 0){ containers[0].classList.remove("container"); } if (pause){return;} var torRow = torRows.shift(); torRow.cells[0].style.overflow = "auto"; torRow.cells[0].style.maxWidth = "400px"; torRow.cells[1].style.verticalAlign = "top"; var torurl = torRow.getElementsByTagName("A")[1].href; var ifrm = document.createElement("IFRAME"); ifrm.src = torurl; ifrm.style.width = "0px"; ifrm.style.height = "0px"; ifrm.onload = function() { try { var desc = this.contentDocument.getElementById('torrent-description'); var LINKs = desc.getElementsByTagName("A"); while (LINKs.length > 0){ var inlink = LINKs[0]; var link = document.createElement("A"); link.style.maxWidth = "400px"; link.href = inlink.href; link.innerHTML = inlink.innerHTML; torRow.cells[0].appendChild(document.createElement("br")); torRow.cells[0].appendChild(link); LINKs[0].parentElement.removeChild(LINKs[0]); } var IMGs = desc.getElementsByTagName("IMG"); while(IMGs.length>0){ var inimg = IMGs[0]; var img = document.createElement("IMG"); img.src = inimg.src; img.style.maxWidth = "400px"; torRow.cells[0].appendChild(document.createElement("br")); torRow.cells[0].appendChild(img); IMGs[0].parentElement.removeChild(IMGs[0]); } } catch(e){} finally { this.parentElement.removeChild(this); if (torRows.length > 0){ ExtractImage();} } }; torRow.cells[0].appendChild(ifrm); } (function() { var MainBtn = document.createElement('INPUT'); MainBtn.type = 'button'; MainBtn.style.position = 'fixed'; MainBtn.style.top = '10px'; MainBtn.style.left = '10px'; MainBtn.style.zIndex = "9999"; MainBtn.value = 'Start'; MainBtn.onclick = function() { pause = !pause; if (pause){ MainBtn.value = "Stop"; } else{ MainBtn.value = "Start"; } FilterRows(); ExtractImage(); }; document.body.appendChild(MainBtn); })();