Собственно вопрос вот какой, пытаюсь распарсить сайт с большим количеством страниц.
Работает, до определенного момента, потом вываливает кучу ошибок
Вот ошибки:
E:\Study\SPOcoursework\src\index.js:12
var $ = cheerio.load(ress.body);
^
TypeError: Cannot read property 'body' of undefined
at E:\Study\SPOcoursework\src\index.js:12:42
at done (E:\Study\SPOcoursework\src\node_modules\needle\lib\needle.js:440:14)
at ClientRequest.had_error (E:\Study\SPOcoursework\src\node_modules\needle\lib\needle.js:450:5)
at emitOne (events.js:116:13)
at ClientRequest.emit (events.js:211:7)
at TLSSocket.socketCloseListener (_http_client.js:363:9)
at emitOne (events.js:121:20)
at TLSSocket.emit (events.js:211:7)
at _handle.close (net.js:554:12)
at TCP.done [as _onclose] (_tls_wrap.js:356:7)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! package.json@1.0.0 start: `node index.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the package.json@1.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\USER\AppData\Roaming\npm-cache\_logs\2018-03-18T10_56_46_511Z-debug.log
А так же код:
var needle = require('needle');
var cheerio = require('cheerio');
var URL = 'https://www.menu.by/minsk/delivery/home.html';
needle.get(URL, function(err, res) {
var $ = cheerio.load(res.body);
$('a.title').each(function (i, element) {
var a = $(this);
var url = "https://www.menu.by"+a.attr('href');
var title = a.text();
needle.get(url,function (error,ress) {
var $ = cheerio.load(ress.body);
$('div.prod-content').each(function (i, element) {
var c=$(this);
var name = c.text();
var json = {
name: title,
url: url,
subName: name
};
console.log(json);
});
});
});
});
Вот кратко что делаю, чтобы не вникать долго:
1) с главной страницы достаю ссылки на другие страницы(на которые нужно перейти и достать инфу)
2) Выполняю тот же код, что и для 1 прохода, но уже для подстраниц
3)Данные выводятся, до какого-то n-го момента(я так понимаю, что слишком много запросов)
4)ссылки почему-то берутся беспорядочно(хотя если вывести url то там все ссылки с главной страницы)
Собственно как с таким бороться?