История изменений
Исправление sjinks, (текущая версия) :
Вместо page.evaluate() тебе нужноо что-то типа
const posts = await page.$$('.post');
const urls = [];
for (const post of posts) {
const link = await post.$('.post_link_next');
const href = await link.evaluate((e) => e.getAttribute('href'));
urls.push(href);
}
В urls у тебя будут относительные пути:
[ '/azamon-interview-tasks/',
'/monty-hall-problem/',
'/vpython-sun-system-model/',
'/how-i-failed/',
'/unit-testing-with-mock-and-jsonschema/' ]
Из них делаешь абсолютные, и в цикле натравливаешь аналог scrapeIn(n)erPage.
Если тебе не хочется использовать puppeteer API, то в page.evaluate() можно использовать XMLHttpRequest для загрузки страниц (с xhr.responseType = ‘document’) и использовать DOM API над xhr.responseXML.
Исходная версия sjinks, :
Вместо page.evaluate() тебе нужноо что-то типа
const posts = await page.$$('.post');
const urls = [];
for (const post of posts) {
const link = await post.$('.post_link_next');
const href = await link.evaluate((e) => e.getAttribute('href'));
urls.push(href);
}
В urls у тебя будут относительные пути:
[ '/azamon-interview-tasks/',
'/monty-hall-problem/',
'/vpython-sun-system-model/',
'/how-i-failed/',
'/unit-testing-with-mock-and-jsonschema/' ]
Из них делаешь абсолютные, и в цикле натравливаешь аналог scrapeIn(n)erPage.
Если тебе не хочется использовать puppeteer API, то в page.evaluate() можно использовать XMLHttpRequest для загрузки страниц (с xhr.responseType = ‘document’) и использовать DOM API над xhr.responseXML.