TypeError:Cannot read property 'type' of undefined

 由于某些原因采集会经常遇到 TypeError:Cannot read property 'type' of undefined 错误,开不出奖。

大搜给的结果是“ 类型错误:无法读取未定义的属性“type”

type 不要轻易修改,在修改之前请提前做好备份,以免无法挽回,

导致这种错误的原因有很多,首先要确认代码的正确性,可以参考以下代码,逐步排渣,保证没有错误,

 1 {
 2         title:'重庆',
 3         source:'正在采集',
 4         name:'cqssc',
 5         enable:true,
 6         timer:'cqssc',
 7         option:{
 8             host:"apiose.mycss.me",
 9             timeout:50000,
10             path: '/xml.php?type=cqssc',
11             headers:{
12                 "User-Agent": "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0) "
13             }
14         },
15         parse:function(str){
16             try{
17                 str=str.substr(0,200);
18                 var reg=/<row expect="([d-]+?)" opencode="([d\,]+?)" opentime="([d:- ]+?)"/;
19                 var m;
20                 if(m=str.match(reg)){
21                     return {
22                         type:1,
23                         time:m[3],
24                         number:m[1],
25                         data:m[2]
26                     };
27                 }
28             }catch(err){
29                 throw('解析数据不正确');
30             }
31         }
32     },

以上参数解释:

host:采集源地址的 域名或者iP

timeout:设置采集超时时间 50000就是50秒

path:就是采集源的具体路径了。

var reg 后面就抓取 XML格式的规则

type:就是菜种编号。

time: 调取的xml里面的时间

number:调取的xml里面的 期数

data:调取的xml里面的 号码。

原文地址:https://www.cnblogs.com/shenjingwa/p/11314965.html