在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/數(shù)據(jù)分析&挖掘  HTML/ cherrio寫的爬蟲可以爬取主頁,但是無法爬取產(chǎn)品頁面,為什么?

cherrio寫的爬蟲可以爬取主頁,但是無法爬取產(chǎn)品頁面,為什么?

從網(wǎng)站抄了一個爬蟲想爬點產(chǎn)品信息,不知道為什么產(chǎn)品單頁就是爬不下來。
但是測試了下其它頁面都是可以爬的,為什么呢?
搜獲了下返回error信息,和爬蟲似乎毫無關(guān)系。

返回error

events.js:183
      throw er; // Unhandled 'error' event
      ^

Error: read ECONNRESET
    at _errnoException (util.js:1022:11)
    at TLSWrap.onread (net.js:628:25)

附上代碼:

var cheerio = require('cheerio');
var http = require('https');
var iconv = require('iconv-lite');

var index = 1;
var n = 0;
var url = 'https://www.thermofisher.com/search/browse/category/cn/zh/602198?navId=10861&resultPage=';
var titles = [];
var datas = [];

//獲取目錄的href
function getTitle(url, i) {
    console.log('now get ' + i + ' page');
    http.get(url + i + '&resultsPerPage=15', function(sres) {
        var chunks = [];
        sres.on('data', function(chunk) {
            chunks.push(chunk);
        });
        sres.on('end', function() {
            var html = iconv.decode(Buffer.concat(chunks), 'UTF-8');
            var $ = cheerio.load(html, { decodeEntities: false });
            $('h2>a').each(function(idx, element) {
                var $element = $(element);
                titles.push({
                    title: $element.attr('href')
                });
            });
            if (i < 5) {
                getTitle(url, ++index);
            } else {
                console.log(titles);
                console.log("over");
                getData(titles, n);
            }
        })
    })
}

//獲取產(chǎn)品信息
function getData(urls, n) {
    console.log('now get ' + n + ' data');
    var link = urls[n].title.toString();
    console.log(link);
    http.get(link, function(sres) {    //這里出錯,卡一段時間后報錯,把link換成其它地址可以爬去。
        var chunks = [];
        sres.on('data', function(chunk) {
            chunks.push(chunk);
        })
        sres.on('end', function() {
            var html = iconv.decode(Buffer.concat(chunks), 'UTF-8');
            var $ = cheerio.load(html, { decodeEntities: false });
            $('.container h1').each(function(idx, element) {
                var $element = $(element);
                console.log($element);
                datas.push({
                    name: $element.text()
                });
            });
            if (n < urls.length - 1) {
                getData(titles, ++n);
            } else {
                console.log('ok');
                console.log(datas);
            }
        })
    })
}


function main() {
    console.log("start");
    getTitle(url, index);
}

main();
回答
編輯回答
陪她鬧

找到問題了,網(wǎng)頁用Angular動態(tài)加載的,爬蟲爬取的時候都是空的,就報錯咯~~

2018年5月27日 23:06