|
@@ -11,7 +11,7 @@ import (
|
|
|
)
|
|
|
|
|
|
// 爬虫验证
|
|
|
-func (vm *VM) VerifySpiderConfig(sc *be.SpiderConfig) (*be.SpiderConfigVerifyResult, error) {
|
|
|
+func (vm *VM) VerifySpiderConfig(sc *be.SpiderConfig) (*be.SpiderConfigVerifyResult, error, []string) {
|
|
|
if be.Cfg.IsOnly4MainSite {
|
|
|
return vm.verifySpiderConfig4MainSite(sc) //重点网站
|
|
|
} else {
|
|
@@ -21,8 +21,9 @@ func (vm *VM) VerifySpiderConfig(sc *be.SpiderConfig) (*be.SpiderConfigVerifyRes
|
|
|
|
|
|
// verifySpiderConfig4Prod 验证爬虫配置,支持翻页,列表项数据只提取2条
|
|
|
// 正式环境
|
|
|
-func (vm *VM) verifySpiderConfig4Prod(sc *be.SpiderConfig) (*be.SpiderConfigVerifyResult, error) {
|
|
|
+func (vm *VM) verifySpiderConfig4Prod(sc *be.SpiderConfig) (*be.SpiderConfigVerifyResult, error, []string) {
|
|
|
qu.Debug("sc---", *sc)
|
|
|
+ var errMsg []string
|
|
|
verifyResult := list.New()
|
|
|
be.DataResults[sc.Code] = verifyResult
|
|
|
ret := &be.SpiderConfigVerifyResult{false, false, false, false, false, false, false}
|
|
@@ -55,7 +56,7 @@ func (vm *VM) verifySpiderConfig4Prod(sc *be.SpiderConfig) (*be.SpiderConfigVeri
|
|
|
//初始化列表页信息
|
|
|
if !vm.InitListPage(ctx, sc) {
|
|
|
qu.Debug("初始化列表页失败,退出")
|
|
|
- return ret, errors.New("初始化列表页失败")
|
|
|
+ return ret, errors.New("初始化列表页失败"), errMsg
|
|
|
}
|
|
|
no := 1
|
|
|
ret.ListTrunPage = true
|
|
@@ -68,6 +69,7 @@ T:
|
|
|
})
|
|
|
if err != nil {
|
|
|
qu.Debug("执行列表页JS代码失败", err.Error())
|
|
|
+ errMsg = append(errMsg, fmt.Sprintf("%s%d%s%s", "第", j+1, "页列表数据获取失败:", err.Error()))
|
|
|
continue
|
|
|
}
|
|
|
//TODO 5.操作详情页
|
|
@@ -86,6 +88,7 @@ T:
|
|
|
})
|
|
|
if err != nil {
|
|
|
qu.Debug("当前列表页第" + fmt.Sprint(contentIndex+1) + "条详情页打开异常")
|
|
|
+ errMsg = append(errMsg, fmt.Sprintf("%s%d%s%d%s%s", "第", j+1, "页,第", contentIndex+1, "条打开详情页失败:", err.Error()))
|
|
|
continue
|
|
|
}
|
|
|
//获取详情页内容
|
|
@@ -94,6 +97,7 @@ T:
|
|
|
})
|
|
|
if err != nil {
|
|
|
qu.Debug("当前列表页第" + fmt.Sprint(contentIndex+1) + "条详情页内容获取失败")
|
|
|
+ errMsg = append(errMsg, fmt.Sprintf("%s%d%s%d%s%s", "第", j+1, "页,第", contentIndex+1, "条详情页内容获取失败:", err.Error()))
|
|
|
continue
|
|
|
}
|
|
|
//下载附件
|
|
@@ -119,6 +123,7 @@ T:
|
|
|
if sc.MaxPages > 1 && j < VERIVY_MAX_TRUN_PAGE-1 && j < int(sc.MaxPages)-1 { //&& !ret.ListTrunPage {
|
|
|
if err = trunPage(sc, sc.ListTurnDelayTime, ctx); err != nil { //翻页失败
|
|
|
qu.Debug("第" + fmt.Sprint(j+1) + "页翻页失败")
|
|
|
+ errMsg = append(errMsg, fmt.Sprintf("%s%d%s%s", "第", j+1, "页翻页失败:", err.Error()))
|
|
|
ret.ListTrunPage = false
|
|
|
break T
|
|
|
}
|
|
@@ -139,13 +144,14 @@ T:
|
|
|
}
|
|
|
qu.Debug(verifyResult.Len())
|
|
|
ret.ListItems = (sc.MaxPages == 1 && verifyResult.Len() > 0) || (sc.MaxPages > 1 && verifyResult.Len() > 2)
|
|
|
- return ret, nil
|
|
|
+ return ret, nil, errMsg
|
|
|
}
|
|
|
|
|
|
// verifySpiderConfig4MainSite 只验证列表标注
|
|
|
// 重点网站测试环境
|
|
|
-func (vm *VM) verifySpiderConfig4MainSite(sc *be.SpiderConfig) (*be.SpiderConfigVerifyResult, error) {
|
|
|
+func (vm *VM) verifySpiderConfig4MainSite(sc *be.SpiderConfig) (*be.SpiderConfigVerifyResult, error, []string) {
|
|
|
qu.Debug("sc---", *sc)
|
|
|
+ var errMsg []string
|
|
|
verifyResult := list.New()
|
|
|
be.DataResults[sc.Code] = verifyResult
|
|
|
ret := &be.SpiderConfigVerifyResult{false, true, false, true, true, true, false}
|
|
@@ -174,7 +180,7 @@ func (vm *VM) verifySpiderConfig4MainSite(sc *be.SpiderConfig) (*be.SpiderConfig
|
|
|
//4.初始化列表页信息
|
|
|
if !vm.InitListPage(ctx, sc) {
|
|
|
qu.Debug("初始化列表页失败,退出")
|
|
|
- return ret, errors.New("初始化列表页失败")
|
|
|
+ return ret, errors.New("初始化列表页失败"), errMsg
|
|
|
}
|
|
|
no := 1
|
|
|
ret.ListTrunPage = true
|
|
@@ -187,6 +193,7 @@ T:
|
|
|
})
|
|
|
if err != nil {
|
|
|
qu.Debug("执行列表页JS代码失败", err.Error())
|
|
|
+ errMsg = append(errMsg, fmt.Sprintf("%s%d%s%s", "第", j+1, "页列表数据获取失败:", err.Error()))
|
|
|
continue
|
|
|
}
|
|
|
//5.操作详情页
|
|
@@ -217,6 +224,7 @@ T:
|
|
|
if sc.MaxPages > 1 && j < VERIVY_MAX_TRUN_PAGE-1 && j < int(sc.MaxPages)-1 { //&& !ret.ListTrunPage {
|
|
|
if err = trunPage(sc, sc.ListTurnDelayTime, ctx); err != nil { //翻页失败
|
|
|
qu.Debug("第" + fmt.Sprint(j+1) + "页翻页失败")
|
|
|
+ errMsg = append(errMsg, fmt.Sprintf("%s%d%s%s", "第", j+1, "页翻页失败:", err.Error()))
|
|
|
ret.ListTrunPage = false
|
|
|
break T
|
|
|
}
|
|
@@ -239,5 +247,5 @@ T:
|
|
|
ret.ListItems = (sc.MaxPages == 1 && verifyResult.Len() > 0) || (sc.MaxPages > 1 && verifyResult.Len() > 2)
|
|
|
}
|
|
|
|
|
|
- return ret, nil
|
|
|
+ return ret, nil, errMsg
|
|
|
}
|