我想将重复进行网络爬网的数据发送给客户端。但我有错误

时间:2018-11-02 12:17:17

标签: ios node.js

'http://100.daum.net/book/27/list?sort=vcnt&index中有四个页面,我想将每个页面的标题发送给客户端。 我知道重复呼叫以重新发送会导致错误。    -错误:发送标头后无法设置。 当调用/ main / post时执行post函数。 使用“ res.redirect('/ main / post')”时,将继续初始化增加页数所需的i变量。 我该怎么办? T.T

var post = function(req, res) {

        const { JSDOM } = jsdom;

        var url = 'http://100.daum.net/book/27/list?sort=vcnt&index=&page=';
        var param = {};
        var i = 1;

         // Create an objAr array to hold web-crowed data in object form
        var objArr = [];
        
        while ( i <= 4 ) {
                console.log(url+i);
                
                request(url+i, function(err, response, body) {
                        if(err) { throw err; }
                        
                        const $ = cheerio.load(body, {
                                decodeEntities:false
                        });
                        
                        var content = $('meta')[19];
                        var imgs = [];
                        var image;
                        
                        const title = $('.tit_register .link_register');
                        
                        // add objects containing table, image, and link data to an array
                        title.each(function() {
                                objArr.push({title: $(this).text(), image:"", link:""});
                        });

                        var jsondata = JSON.stringify(objArr);
                        res.send(jsondata);
                        res.redirect('/post/main');
                });

                i += 1;
        }

//      var jsondata = JSON.stringify(objArr);
//        console.log("send post data!");
//        console.log(jsondata);
//        res.send(jsondata);


}

0 个答案:

没有答案