TypeError:Cannot read property ‘type‘ of undefined

由于某些原因采集会经常遇到 TypeError:Cannot read property 'type' of undefined 错误。
大搜给的结果是“ 类型错误:无法读取未定义的属性“type ”显然是错误的,type不要轻易修改,在修改之前请提前做好备份,以免无法挽回,
导致这种错误的原因有很多,首先要确认代码的正确性,可以参考以下代码,逐步排渣,保证没有错误。

{
    title: '重庆',
    source: '正在采集',
    name: 'cqssc',
    enable: true,
    timer: 'cqssc',
    option: {
        host: "api.baidu.com",
        timeout: 50000,
        path: '/xml.php?type=chongqing',
        headers: {
            "User-Agent": "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0) "
        }
    },
    parse: function(str) {
        try {
            str = str.substr(0, 200);
            var reg = /<row expect="([\d\-]+?)" opencode="([\d\,]+?)" opentime="([\d\:\- ]+?)"/;
            var m;
            if (m = str.match(reg)) {
                return {
                    type: 1,
                    time: m[3],
                    number: m[1],
                    data: m[2]
                };
            }
        } catch (err) {
            throw ('解析数据错误');
        }
    }
},

以上参数解释:
host:采集源地址的 域名或者ip
timeout:设置采集超时时间 50000就是50秒
path:就是采集源的具体路径了。
var reg 后面就抓取 XML格式的规则
type:就是菜种编号。
time: 调取的xml里面的时间
number:调取的xml里面的 期数
data:调取的xml里面的 号码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值