Simple JavaScript Scraper

Codul de mai jos l-am scris acum mai bine de un an, cand aveam nevoie de un scraper simplu care sa imi treaca prin cateva pagini de pe un site.

Nu aveam nevoie de ceva complex, asa ca am exclus variantele cu Node sau alte nebunii.

console.clear();
var array = [];
var pageNumber = 1; // Pagina de la care incepe
setInterval(function() {
    if (pageNumber <= 100) { // Pagina la care se opreste
        var pageUrl = 'https://website.com/news/' + pageNumber + '/default.aspx';
        $.ajax({
            url: pageUrl,
            type: 'GET',
            dataType: 'html',
            success: function(e) {
                var listingPosts = $(e).find('.module_item'); // Zona de listare a articolelor
                $.each(listingPosts, function(index, val) {
                    var articleUrl = $(this).find('.module_headline > a').attr('href'); // URL-ul catre page details
                    $.ajax({
                        url: articleUrl,
                        type: 'GET',
                        dataType: 'html',
                        success: function(e) {
                            var title = $(e).find('.module-details_title').text().trim();
                            var date = $(e).find('.module_date-time').text().trim();
                            var content = $(e).find('.module_body').html().trim();
                            object = {
                                'title': title,
                                'date': date,
                                'content': content
                            }
                            array.push(object);
                        }
                    });
                });
            }
        });
        pageNumber++;
    }
}, 1000);
console.log(array);

In prima faza trebuie sa editezi putin codul in functie de site-ul respectiv. Pagina de la care sa inceapa pana la cea la care trebuie sa se opreasca, url-ul pentru paginatie si clasele care “imbraca” titlul, data si continutul.

Dupa ce l-ai editat trebuie sa te duci pe site-ul respectiv, bagi codul in consola si astepti pana termina operatiunea. O sa iti dai seama in momentul in care incepe, pentru ca o sa iti tureze putin cooler-ul (consuma CPU). Dupa ce a trecut prin toate paginile, in consola o sa iti apara un array pe care trebuie sa il transformi in Global Variable (click dreapta - Store as global variable).

Variabila creata o sa fie afisata mai jos, asa ca o sa o copiezi utilizand comanda copy(temp1).

Asta-i tot. Las un mic video in care arat pe scurt pasii.