AyrA icon

4chan filter

AyrA | PRO | 07/12/16 05:36:00 PM UTC | 0 ⭐ | 585 👁️ | Never ⏰ | []
JavaScript |

1.98 KB

|

None

|

0 👍

/

0 👎

var webPage=require('webpage');
var page=webPage.create();
var fs=require("fs");
 
phantom.onError = function(msg, trace) {
    var msgStack = ['PHANTOM ERROR: ' + msg];
    if (trace && trace.length)
    {
        msgStack.push('TRACE:');
        trace.forEach(function(t)
        {
            msgStack.push(' -> ' + (t.file || t.sourceURL) + ': ' + t.line + (t.function ? ' (in function ' + t.function +')' : ''));
        });
    }
    console.error(msgStack.join('\n'));
    phantom.exit(1);
};
 
//Disable web security
page.settings.webSecurityEnabled = false;
page.settings.XSSAuditingEnabled = false;
 
page.onConsoleMessage=function(msg){
    console.log(msg);
};
 
page.open('http://boards.4chan.org/trash/catalog', function(status) {
    console.log("evaluating site specific js");
    var ret=page.evaluate(function() {
        var getImg=function(x)
        {
            var v=document.querySelector("#thumb-"+x);
            if(v)
            {
                console.log("converting image "+v.src);
                var canvas=document.createElement("canvas");
                canvas.width=v.width;
                canvas.height=v.height;
                var ctx=canvas.getContext("2d");
                ctx.drawImage(v,0,0,v.width,v.height);
                return canvas.toDataURL("image/png").split(",")[1];
            }
        }
        
        for(var x in catalog.threads)
        {
            catalog.threads[x].teaser=escape(catalog.threads[x].teaser);
            catalog.threads[x].img=getImg(x);
        }
        return { catalog:catalog.threads,sort:catalog.order.alt/*, img:img*/};
    });
    
    var entries=ret.sort.map(function(v,i,a)
    {
        ret.catalog[v].id=v;
        return ret.catalog[v];
    });
    
    console.log("Rendering images. Got "+entries.length);
    
    entries.forEach(function(v,i,a)
    {
        console.log("rendering "+v.id);
        fs.write("img/"+v.id+".png",atob(v.img),"wb");
    });
    console.log("Processing text content");
    var s=[];
    
    entries.forEach(function(v,i,a)
    {
        s.push([
            v.id,
            v.date,
            v.file,
            v.lr.date,
            v.i,
            v.r,
            v.teaser
        ].join("\t"));
    });
    fs.write("threads.txt", s.join("\r\n"), "w");
    console.log("All done");
    phantom.exit();
});

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎