为了账号安全,请及时绑定邮箱和手机立即绑定

用node做爬虫,爬到一半的时候报错

用node做爬虫,爬到一半的时候报错

root丶Dima 2016-04-29 13:09:22
如题,在爬到一部分到html内容后,node会在req中报错,提示为:HPE_INVALID_CONSTANT网上找了很多东西,都说是res的header中Content-Type设置为application/json , 但是我也打印了res.header, 它的Content-Type并不是这个,而是正确的text/html我用的是http模块中的http.get(url, callback()) 方法来实现的爬虫功能.问题代码如下:var http = require('http'); var req = https.get(url, function(res) {     var html = '';         res.on('data', function(data){                 // console.log('response.headers: '+res.headers);                 html += data;         });          res.on('end', function(){         //此处html代码应该显示完整的html内容,但只打印出前一部分的内容。就连body和head的闭合标签都没有显示         console.log(html);         }); }).on('error', function(err){     // console.log('request.headers: '+res.headers);     console.log('获取文件出错。'+JSON.stringify(err)); });
查看完整描述

3 回答

?
_潇潇暮雨

TA贡献646条经验 获得超225个赞

能上下完整的代码么?

查看完整回答
1 反对 回复 2016-04-29
?
root丶Dima

TA贡献1条经验 获得超0个赞

出问题的代码如下:

var http = require('http');
var req = https.get(url, function(res) {
    var html = '';
    res.on('data', function(data){
        // console.log('response.headers: '+res.headers);
        html += data;
    });

    res.on('end', function(){
        //此处html代码应该显示完整的html内容,但只打印出前一部分的内容。就连body和head的闭合标签都没有显示
        console.log(html);
    });
}).on('error', function(err){
    // console.log('request.headers: '+res.headers);
    console.log('获取文件出错。'+JSON.stringify(err));
});


查看完整回答
反对 回复 2016-04-29
  • 3 回答
  • 0 关注
  • 3330 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信