/** *读取基本配置到内存 **/ package spiderutil import ( "time" ) //系统配置 type config struct { Webport string `json:"webport"` Mongodb_spider string `json:"mongodb_spider"` Spider_dbsize int `json:"spider_dbsize"` Mongodb_editor string `json:"mongodb_editor"` Editor_dbsize int `json:"editor_dbsize"` Mongodb_dbsize int `json:"mongodb_dbsize"` Msgname string `json:"msgname"` Msgserveraddr string `json:"msgserveraddr"` MsgserveraddrFile string `json:"msgserveraddrfile"` MsgserveraddrChromedp string `json:"msgserveraddrchromedp"` MsgserveraddrChromedpTest string `json:"msgserveraddrchromedptest"` Editoraddr string `json:"editoraddr"` Tesseractadd string `json:"tesseractadd"` BidEditor dbInfo `json:"bideditor"` Bidding dbInfo `json:"bidding"` Testdir string `json:"testdir"` Uploadevent int `json:"uploadevent"` Redistype string `json:"redistype"` Redisservers string `json:"redisservers"` BloomRedisservers string `json:"bloomredisservers"` Redishosts []string `json:"redishosts"` FileServer string `json:"fileServer"` Luadisablelib map[string]map[string]bool `json:"luadisablelib"` Working int `json:"working"` //0高效模式,1节能模式 Chansize int `json:"chansize"` DetailChansize int `json:"detailchansize"` //下载三级页的线程数 LogLevel int `json:"logLevel"` //日志基本1debug 2info 3warn DayNum int `json:"daynum"` Modal int `json:"Modal"` //1列表页三级页分开采集,0原始采完列表采三级页(7000,7700) PageTurnInfo pageTurnInfo `json:"pageturninfo"` //翻页相关配置 IsHistoryEvent bool `json:"ishistoryevent"` //只有7000为true SiteType map[string][]string `json:"sitetype"` //网站类型 SiteType2 map[string][]string `json:"sitetype2"` //网站类型 PlatType map[string]bool `json:"plattype"` //平台类型 SiteColl string `json:"sitecoll"` //网站表名 ThreadBaseNum int `json:"threadbasenum"` //开启线程的数据基数 ThreadUpperLimit int `json:"threadupperlimit"` //总线程上限 RedisClusterAddrs []string `json:"redisclusteraddrs"` //redis集群地址 ProxyAddr string `json:"proxyaddr"` //代理地址 ProxyAuthor string `json:"proxyauthor"` //代理作者 RenderAddr string `json:"renderaddr"` //页面渲染服务地址 //补漏 Checkmaxpage map[string]int `json:"checkmaxpage"` CheckHourTime int `json:"checkhourtime"` HasDownload int `json:"pagedownload"` //编辑器 Dbaddr string `json:"dbaddr"` Dbname string `json:"dbname"` Dbname2 string `json:"dbname2"` Msgservers map[string]map[string]interface{} `json:"msgservers"` Uploadevents map[string]interface{} `json:"uploadevents"` Model map[string]map[string]interface{} `json:"model"` Smtp map[string]string `json:"smtp"` JsVmUrl string `json:jsvmurl` IsDelay bool `json:isdelay` //是否开启延迟策略 //数据重采 Mongodb_bidding string `json:"mongodb_bidding"` TmpDbAddr string `json:"tmpmgoaddr"` TmpCollName string `json:"tmpmgocoll"` TmpDbName string `json:"tmpmgodb"` UdpAddr string `json:"udpaddr"` UdpPort int `json:"udport"` LocalUdpPort string `json:"localudport"` TmpDbSize int `json:"tmpmgosize"` SpiderChan int `json:"spiderchan"` Flows []flow `json:"flows"` //爬虫迁移 Cron string `json:"cron"` DownloadNum int `json:"downloadnum"` Email map[string]interface{} `json:"mail"` //关键词过滤 Word map[string]string `json:"word"` //oss OssInfo map[string]interface{} `json:"oss"` //招标库账号密码 UserName string `json:"username"` PassWord string `json:"password"` //邮件 JkMail map[string]string `json:"jkmail"` //es Es map[string]interface{} `json:"es"` //获取验证码相关 ServerAddress string `json:"serveraddress"` ServerPort string `json:"serverport"` ServerCodeAddress string `json:"servercodeaddress"` ServerCodefreeAddressOcr string `json:"servercodefreeaddressocr"` ServerCodefreeAddressArithmetic string `json:"servercodefreeaddressarithmetic"` TimeOut time.Duration `json:"timeout"` //js相关 JsServerAddress string `json:"jsserveraddress"` //模拟登陆 LoginServerAddress string `json:"loginserveraddress"` //系统库 SystemDB dbInfo `json:"systemdb"` //基本数据库 DataDB dbInfo `json:"datadb"` //spider数据库 LuaSpiderDB dbInfo `json:"luaspiderdb"` //nats SpiderNats Nats `json:"nats"` } type Nats struct { NatsUrl string `json:"natsurl"` Subscribe string `json:"subscribe"` } type flow struct { Memo string `json:"memo"` Addr string `json:"addr"` Port int `json:"port"` Stype string `json:"stype"` } type dbInfo struct { Addr string `json:"addr"` Db string `json:"db"` Coll string `json:"coll"` Size int `json:"size"` Username string `json:"username"` Password string `json:"password"` } type pageTurnInfo struct { RepeatPageTimesLimit int `json:"repeatpagetimeslimit"` //无限翻页连续判重页数上限 TurnPageMaxLimit int `json:"turnpagemaxlimit"` //连续翻页上限 NextPageMaxLimit int `json:"nextpagemaxlimit"` //翻页到上限后继续翻页数上限 ListParallelTaskLimit int `json:"listparalleltasklimit"` //列表页爬虫并行任务数量上限 ListThreadsNum int `json:"listthreadsnum"` //列表页并发数量 } var Config config