|
@@ -48,23 +48,24 @@ type Front struct {
|
|
|
updateESP xweb.Mapper `xweb:"/center/spider/updateesp"` //修改爬虫的节点/状态/平台
|
|
|
updatePendState xweb.Mapper `xweb:"/center/spider/updatePendState"` //更新爬虫挂起状态
|
|
|
tagCode xweb.Mapper `xweb:"/center/spider/tagcode"` //标记爬虫
|
|
|
+ spiderRemark xweb.Mapper `xweb:"/center/spider/spiderremark"` //标记爬虫
|
|
|
|
|
|
- spiderModel xweb.Mapper `xweb:"/center/model"` //获取补充模型
|
|
|
- runStep xweb.Mapper `xweb:"/center/run"` //方法测试
|
|
|
- spiderPass xweb.Mapper `xweb:"/center/spider/pass"` //整体测试
|
|
|
- runPinYin xweb.Mapper `xweb:"/center/runpy"` //获取拼音
|
|
|
- saveStep xweb.Mapper `xweb:"/center/save"` //爬虫保存
|
|
|
- saveChannels xweb.Mapper `xweb:"/center/save/channels"` //保存子栏目
|
|
|
- saveJs xweb.Mapper `xweb:"/center/save/js"` //保存js
|
|
|
- loadModel xweb.Mapper `xweb:"/center/gmodel/(.*)"` //加载模型
|
|
|
- importdata xweb.Mapper `xweb:"/center/importdata"` //导入爬虫列表页面
|
|
|
- importLua xweb.Mapper `xweb:"/center/importlua"` //导入爬虫
|
|
|
- oldedit xweb.Mapper `xweb:"/center/oldedit"` //老文件编辑
|
|
|
- findName xweb.Mapper `xweb:"/center/findname"` //即时查询名称
|
|
|
- checkrepeat xweb.Mapper `xweb:"/center/spider/isrepeat"` //脚本代码判重
|
|
|
- heart xweb.Mapper `xweb:"/center/heart"` //心跳监控
|
|
|
- spiderCopy xweb.Mapper `xweb:"/center/spider/copy"` //复制爬虫
|
|
|
- spiderCloseErr xweb.Mapper `xweb:"/center/spider/closeerr"` //删除错误爬虫
|
|
|
+ spiderModel xweb.Mapper `xweb:"/center/model"` //获取补充模型
|
|
|
+ runStep xweb.Mapper `xweb:"/center/run"` //方法测试
|
|
|
+ spiderPass xweb.Mapper `xweb:"/center/spider/pass"` //整体测试
|
|
|
+ runPinYin xweb.Mapper `xweb:"/center/runpy"` //获取拼音
|
|
|
+ saveStep xweb.Mapper `xweb:"/center/save"` //爬虫保存
|
|
|
+ saveJs xweb.Mapper `xweb:"/center/save/js"` //保存js
|
|
|
+ loadModel xweb.Mapper `xweb:"/center/gmodel/(.*)"` //加载模型
|
|
|
+ importdata xweb.Mapper `xweb:"/center/importdata"` //导入爬虫列表页面
|
|
|
+ importLua xweb.Mapper `xweb:"/center/importlua"` //导入爬虫
|
|
|
+ oldedit xweb.Mapper `xweb:"/center/oldedit"` //老文件编辑
|
|
|
+ findName xweb.Mapper `xweb:"/center/findname"` //即时查询名称
|
|
|
+ checkrepeat xweb.Mapper `xweb:"/center/spider/isrepeat"` //脚本代码判重
|
|
|
+ heart xweb.Mapper `xweb:"/center/heart"` //心跳监控
|
|
|
+ spiderCopy xweb.Mapper `xweb:"/center/spider/copy"` //补采复制爬虫
|
|
|
+ spiderSplitCopy xweb.Mapper `xweb:"/center/spider/splitcopy"` //拆分复制爬虫
|
|
|
+ spiderCloseErr xweb.Mapper `xweb:"/center/spider/closeerr"` //删除错误爬虫
|
|
|
|
|
|
Base Base
|
|
|
OtherBase OtherBase
|
|
@@ -569,9 +570,12 @@ func (f *Front) ImportLua() {
|
|
|
o["name"] = cells[0].Value
|
|
|
o["code"] = code
|
|
|
o["channel"] = cells[2].Value
|
|
|
- channels := cells[3].Value
|
|
|
- channels = strings.ReplaceAll(channels, ",", ",")
|
|
|
- o["channels"] = strings.Split(channels, ",")
|
|
|
+ spiderremark := cells[3].Value
|
|
|
+ if spiderremark == "" {
|
|
|
+
|
|
|
+ spiderremark = `采集“` + cells[2].Value + `”栏目(含子栏目)`
|
|
|
+ }
|
|
|
+ o["spiderremark"] = spiderremark
|
|
|
//重复域名的网站不再新增爬虫
|
|
|
href := cells[4].Value
|
|
|
one, _ := u.MgoEB.FindOne("luaconfig", map[string]interface{}{"href": href})
|
|
@@ -703,7 +707,6 @@ func saveLua(o map[string]interface{}) (bool, string) {
|
|
|
param["site"] = o["name"]
|
|
|
param["href"] = o["channeladdr"]
|
|
|
param["channel"] = o["channel"]
|
|
|
- param["channels"] = o["channels"] //子栏目
|
|
|
param["createuser"] = (*one)["s_name"]
|
|
|
param["createuserid"] = id
|
|
|
param["createuseremail"] = (*one)["s_email"]
|
|
@@ -725,6 +728,7 @@ func saveLua(o map[string]interface{}) (bool, string) {
|
|
|
param["urgency"] = o["urgency"]
|
|
|
param["isflow"] = o["isflow"]
|
|
|
param["spidertype"] = "history"
|
|
|
+ param["spiderremark"] = o["spiderremark"]
|
|
|
incrementevent := qu.ObjToString(o["incrementevent"])
|
|
|
if movevent, ok := util.Config.Uploadevents[incrementevent].(string); ok && movevent != "" {
|
|
|
param["spidermovevent"] = movevent
|
|
@@ -1302,3 +1306,43 @@ func (f *Front) SpiderCopy() {
|
|
|
}
|
|
|
f.ServeJson(map[string]interface{}{"success": success, "text": text, "encode": encode})
|
|
|
}
|
|
|
+
|
|
|
+func (f *Front) SpiderSplitCopy() {
|
|
|
+ defer qu.Catch()
|
|
|
+ code := f.GetString("code")
|
|
|
+ code = strings.TrimSpace(code)
|
|
|
+ num, _ := f.GetInteger("num")
|
|
|
+ text := ""
|
|
|
+ lua, _ := u.MgoEB.FindOne("luaconfig", map[string]interface{}{"code": code})
|
|
|
+ if len(*lua) > 0 {
|
|
|
+ param_common := (*lua)["param_common"].([]interface{})
|
|
|
+ str_list := qu.ObjToString((*lua)["str_list"])
|
|
|
+ channelOld := qu.ObjToString((*lua)["channel"])
|
|
|
+ copyNum := qu.IntAll((*lua)["copynum"]) //当前已经拆分了多少个爬虫
|
|
|
+ delete(*lua, "relatecode") //删除关联爬虫字段
|
|
|
+ for i := 1; i <= num; i++ {
|
|
|
+ copyNum++
|
|
|
+ var codeSuffix string
|
|
|
+ if copyNum < 10 {
|
|
|
+ codeSuffix = fmt.Sprintf("0%s", fmt.Sprint(copyNum))
|
|
|
+
|
|
|
+ } else {
|
|
|
+ codeSuffix = fmt.Sprint(copyNum)
|
|
|
+ }
|
|
|
+ (*lua)["code"] = code + "_" + codeSuffix
|
|
|
+ (*lua)["channel"] = channelOld + "_" + codeSuffix
|
|
|
+ (*lua)["str_list"] = strings.ReplaceAll(str_list, code, code+"_"+codeSuffix)
|
|
|
+ (*lua)["comeintime"] = time.Now().Unix()
|
|
|
+ (*lua)["modifytime"] = time.Now().Unix()
|
|
|
+ (*lua)["state"] = 0
|
|
|
+ param_common[0] = code + "_" + codeSuffix
|
|
|
+ param_common[2] = channelOld + "_" + codeSuffix
|
|
|
+ (*lua)["param_common"] = param_common
|
|
|
+ u.MgoEB.Save("luaconfig", (*lua))
|
|
|
+ }
|
|
|
+ u.MgoEB.Update("luaconfig", map[string]interface{}{"code": code}, map[string]interface{}{"$set": map[string]interface{}{"copynum": copyNum}}, false, false)
|
|
|
+ } else {
|
|
|
+ text = "未查询到复制原"
|
|
|
+ }
|
|
|
+ f.ServeJson(map[string]interface{}{"text": text})
|
|
|
+}
|