Показать сообщение отдельно
  #5 (permalink)  
Старый 06.03.2021, 22:53
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,743

Первую задачу можно так сделать
var request = require ('request');
var cheerio = require ('cheerio');
const fs = require('fs');
 
var results = new Array();
var pagesCount = 47;

let prm = Promise.resolve();

for (let i = 0; i < pagesCount; i++){
    var URL = 'здесь ссылка плюс ид страницы='+i;
    prm = prm.then ( _ => new Promise (res => {
			request(URL, function (error, response, html) {
			  if (!error && response.statusCode == 200) {
					var $ = cheerio.load(html);
					$('tr:not(.spacer)').each(function(i, element){
					 // Тут происходит много строчек кода селекторов и записи в объект data.
					  console.log(data);
					  results.push(data);
					});
					res();
				}
		 
			});
		})
    )
}
 
// В конце мне все это нужно сохранить в JSON, То есть записать массив result
 
prm.then (_=> {
    console.log('saving...');
    fs.writeFileSync("data.json", JSON.stringify(results,null,4));
})
Ответить с цитированием