diff --git a/code.js b/code.js index 0153de7..c665b3f 100644 --- a/code.js +++ b/code.js @@ -47,15 +47,39 @@ function exportJson(badgesArray) { /** * Функция main() */ -function getBadges() { +function getBadges(page, pages) { let badges = []; - const collection = document.getElementsByClassName('badge_row'); + let currentPage = 1; - for (const value of Object.entries(collection)) { - badges.push(getData(value)); + // get total pages + const [baseURI, totalPages] = (function(element) { + return [ + element[0].baseURI, + element[element.length - 1].text + ]; + })(document.getElementsByClassName('pagelink')); + + while (currentPage <= totalPages) { + console.log(`Parse ${currentPage} page...`); + + const collection = document.getElementsByClassName('badge_row'); + + for (const value of Object.entries(collection)) { + badges.push(getData(value)); + } + + currentPage++; + + if (currentPage <= totalPages) { + document.location.href = `${baseURI}?p=${currentPage}`; + + + } } exportJson(badges); } -getBadges(); +window.addEventListener('load', function() { + getBadges(1); +});