sysconfig.go 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. /**
  2. *读取基本配置到内存
  3. **/
  4. package spiderutil
  5. import (
  6. "time"
  7. )
  8. //系统配置
  9. type config struct {
  10. Webport string `json:"webport"`
  11. Mongodb_spider string `json:"mongodb_spider"`
  12. Spider_dbsize int `json:"spider_dbsize"`
  13. Mongodb_editor string `json:"mongodb_editor"`
  14. Editor_dbsize int `json:"editor_dbsize"`
  15. Mongodb_dbsize int `json:"mongodb_dbsize"`
  16. Msgname string `json:"msgname"`
  17. Msgserveraddr string `json:"msgserveraddr"`
  18. MsgserveraddrFile string `json:"msgserveraddrfile"`
  19. MsgserveraddrChromedp string `json:"msgserveraddrchromedp"`
  20. MsgserveraddrChromedpTest string `json:"msgserveraddrchromedptest"`
  21. Editoraddr string `json:"editoraddr"`
  22. Tesseractadd string `json:"tesseractadd"`
  23. BidEditor dbInfo `json:"bideditor"`
  24. Bidding dbInfo `json:"bidding"`
  25. Testdir string `json:"testdir"`
  26. Uploadevent int `json:"uploadevent"`
  27. Redistype string `json:"redistype"`
  28. Redisservers string `json:"redisservers"`
  29. BloomRedisservers string `json:"bloomredisservers"`
  30. Redishosts []string `json:"redishosts"`
  31. FileServer string `json:"fileServer"`
  32. Luadisablelib map[string]map[string]bool `json:"luadisablelib"`
  33. Working int `json:"working"` //0高效模式,1节能模式
  34. Chansize int `json:"chansize"`
  35. DetailChansize int `json:"detailchansize"` //下载三级页的线程数
  36. LogLevel int `json:"logLevel"` //日志基本1debug 2info 3warn
  37. DayNum int `json:"daynum"`
  38. Modal int `json:"Modal"` //1列表页三级页分开采集,0原始采完列表采三级页(7000,7700)
  39. PageTurnInfo pageTurnInfo `json:"pageturninfo"` //翻页相关配置
  40. IsHistoryEvent bool `json:"ishistoryevent"` //只有7000为true
  41. SiteType map[string][]string `json:"sitetype"` //网站类型
  42. SiteType2 map[string][]string `json:"sitetype2"` //网站类型
  43. PlatType map[string]bool `json:"plattype"` //平台类型
  44. SiteColl string `json:"sitecoll"` //网站表名
  45. ThreadBaseNum int `json:"threadbasenum"` //开启线程的数据基数
  46. ThreadUpperLimit int `json:"threadupperlimit"` //总线程上限
  47. RedisClusterAddrs []string `json:"redisclusteraddrs"` //redis集群地址
  48. ProxyAddr string `json:"proxyaddr"` //代理地址
  49. ProxyAuthor string `json:"proxyauthor"` //代理作者
  50. RenderAddr string `json:"renderaddr"` //页面渲染服务地址
  51. //补漏
  52. Checkmaxpage map[string]int `json:"checkmaxpage"`
  53. CheckHourTime int `json:"checkhourtime"`
  54. HasDownload int `json:"pagedownload"`
  55. //编辑器
  56. Dbaddr string `json:"dbaddr"`
  57. Dbname string `json:"dbname"`
  58. Dbname2 string `json:"dbname2"`
  59. Msgservers map[string]map[string]interface{} `json:"msgservers"`
  60. Uploadevents map[string]interface{} `json:"uploadevents"`
  61. Model map[string]map[string]interface{} `json:"model"`
  62. Smtp map[string]string `json:"smtp"`
  63. JsVmUrl string `json:jsvmurl`
  64. IsDelay bool `json:isdelay` //是否开启延迟策略
  65. //数据重采
  66. Mongodb_bidding string `json:"mongodb_bidding"`
  67. TmpDbAddr string `json:"tmpmgoaddr"`
  68. TmpCollName string `json:"tmpmgocoll"`
  69. TmpDbName string `json:"tmpmgodb"`
  70. UdpAddr string `json:"udpaddr"`
  71. UdpPort int `json:"udport"`
  72. LocalUdpPort string `json:"localudport"`
  73. TmpDbSize int `json:"tmpmgosize"`
  74. SpiderChan int `json:"spiderchan"`
  75. Flows []flow `json:"flows"`
  76. //爬虫迁移
  77. Cron string `json:"cron"`
  78. DownloadNum int `json:"downloadnum"`
  79. Email map[string]interface{} `json:"mail"`
  80. //关键词过滤
  81. Word map[string]string `json:"word"`
  82. //oss
  83. OssInfo map[string]interface{} `json:"oss"`
  84. //招标库账号密码
  85. UserName string `json:"username"`
  86. PassWord string `json:"password"`
  87. //邮件
  88. JkMail map[string]string `json:"jkmail"`
  89. //es
  90. Es map[string]interface{} `json:"es"`
  91. //获取验证码相关
  92. ServerAddress string `json:"serveraddress"`
  93. ServerPort string `json:"serverport"`
  94. ServerCodeAddress string `json:"servercodeaddress"`
  95. ServerCodefreeAddressOcr string `json:"servercodefreeaddressocr"`
  96. ServerCodefreeAddressArithmetic string `json:"servercodefreeaddressarithmetic"`
  97. TimeOut time.Duration `json:"timeout"`
  98. //js相关
  99. JsServerAddress string `json:"jsserveraddress"`
  100. //模拟登陆
  101. LoginServerAddress string `json:"loginserveraddress"`
  102. //系统库
  103. SystemDB dbInfo `json:"systemdb"`
  104. //基本数据库
  105. DataDB dbInfo `json:"datadb"`
  106. //spider数据库
  107. LuaSpiderDB dbInfo `json:"luaspiderdb"`
  108. //nats
  109. SpiderNats Nats `json:"nats"`
  110. }
  111. type Nats struct {
  112. NatsUrl string `json:"natsurl"`
  113. Subscribe string `json:"subscribe"`
  114. }
  115. type flow struct {
  116. Memo string `json:"memo"`
  117. Addr string `json:"addr"`
  118. Port int `json:"port"`
  119. Stype string `json:"stype"`
  120. }
  121. type dbInfo struct {
  122. Addr string `json:"addr"`
  123. Db string `json:"db"`
  124. Coll string `json:"coll"`
  125. Size int `json:"size"`
  126. Username string `json:"username"`
  127. Password string `json:"password"`
  128. }
  129. type pageTurnInfo struct {
  130. RepeatPageTimesLimit int `json:"repeatpagetimeslimit"` //无限翻页连续判重页数上限
  131. TurnPageMaxLimit int `json:"turnpagemaxlimit"` //连续翻页上限
  132. NextPageMaxLimit int `json:"nextpagemaxlimit"` //翻页到上限后继续翻页数上限
  133. ListParallelTaskLimit int `json:"listparalleltasklimit"` //列表页爬虫并行任务数量上限
  134. ListThreadsNum int `json:"listthreadsnum"` //列表页并发数量
  135. }
  136. var Config config