# README
Jarvis Crawler Core Client (Golang)
jarviscrawlercore的golang客户端。
支持多节点,支持负载均衡。
# Functions
GetHostName - get hostname in url.
InitLogger - init logger.
IsNoRetryError - is noretry.
IsOK - is ok.
JSON - make json to field.
LoadConfig - load config.
NewClient - new Client.
NewClientMgr - new clientmgr.
NewDB - new DB.
NewHostInfoCollection - new NewHostInfoCollection.
NewLogger - new a zap.Logger.
NewTasksMap - new TasksMap.
RebuildTasks - resort tasks with hostname.
SetMainLogger - set main logger.
# Constants
ClientMgrStateNormal - nil.
ClientMgrStateService - service.
ClientMgrStateTasks - tasks.
DBName - jccclient database name.
DefaultSleepTime - After the finished a task, rest for {{DefaultSleepTime}} seconds.
EffectiveFailTime - If the interval between 2 failures is less than {{EffectiveFailTime}} seconds, it should be counted as a multiple failure.
IgnoreTaskTime - The client will ignore the task for {{IgnoreTaskTime}} seconds.
MaxMultiFailTimes - If the client fail {{MaxMultiFailTimes}} times in succession, it need to ignore some task.
VERSION - jccclient version.
# Variables
ErrDuplicateServAddr - Duplicate servaddr.
ErrInvalidAlimamaMode - invalid alimama mode.
ErrInvalidClientMgrState - invalid ClientMgrState.
ErrInvalidCrawlerType - invalid crealertype.
ErrInvalidDoubanMode - invalid douban mode.
ErrInvalidHao6vMode - invalid hao6v mode.
ErrInvalidInvestingMode - invalid investing mode.
ErrInvalidJDMode - invalid jd mode.
ErrInvalidJRJMode - invalid jrj mode.
ErrInvalidManhuaDBMode - invalid manhuadb mode.
ErrInvalidMountainstealsMode - invalid mountainsteals mode.
ErrInvalidOABTMode - invalid oabt mode.
ErrInvalidP6vdyMode - invalid 6vdy mode.
ErrInvalidSteepAndCheapMode - invalid steepandcheap mode.
ErrInvalidTaobaoMode - invalid taobao mode.
ErrInvalidTask - invalid task.
ErrInvalidTechInAsiaMode - invalid techinasia mode.
ErrInvalidTmallMode - invalid tmall mode.
ErrNoCrawlerResult - no CrawlerResult.
ErrNoDBEngine - There is no dbengine.
ErrNoDBPath - There is no dbpath.
ErrNoHostInfo - There is no hostinfo.
ErrNoHostname - There is no hostname.
ErrNoReplyAlimama - invalid ReplyAlimama.
ErrNoReplyAlimamaGetTop - no ReplyAlimamaGetTop.
ErrNoReplyAlimamaProducts - no ReplyAlimamaProducts.
ErrNoReplyAlimamaShop - no ReplyAlimamaShop.
ErrNoReplyAnalyzePage - invalid ReplyAnalyzePage.
ErrNoReplyCrawler - no ReplyCrawler.
ErrNoReplyDouban - invalid ReplyDouban.
ErrNoReplyDoubanBook - no ReplyDoubanBook.
ErrNoReplyDoubanSearch - no ReplyDoubanSearch.
ErrNoReplyGeoip - invalid ReplyGeoip.
ErrNoReplyHao6v - invalid ReplyHao6v.
ErrNoReplyHao6vNewPage - no ReplyHao6vNewPage.
ErrNoReplyHao6vResPage - no ReplyHao6vResPage.
ErrNoReplyInvesting - invalid ReplyInvesting.
ErrNoReplyInvestingAsset - no ReplyInvestingAsset.
ErrNoReplyInvestingAssets - no ReplyInvestingAssets.
ErrNoReplyJD - invalid ReplyJD.
ErrNoReplyJDActive - no ReplyJDActive.
ErrNoReplyJDProduct - no ReplyJDProduct.
ErrNoReplyJRJ - invalid ReplyJRJ.
ErrNoReplyJRJFund - invalid ErrNoReplyJRJFund.
ErrNoReplyJRJFunds - invalid ReplyJRJFunds.
ErrNoReplyJRJFundValue - invalid ErrNoReplyJRJFundValue.
ErrNoReplyManhuaDB - invalid ReplyManhuaDB.
ErrNoReplyManhuaDBAuthor - no ReplyManhuaDBAuthor.
ErrNoReplyMountainsteals - invalid ReplyMountainsteals.
ErrNoReplyMountainstealsProduct - no ReplyMountainstealsProduct.
ErrNoReplyMountainstealsSale - no ReplyMountainstealsSale.
ErrNoReplyOABT - invalid ReplyOABT.
ErrNoReplyOABTPage - no ReplyOABTPage.
ErrNoReplyP6vdy - invalid ReplyP6vdy.
ErrNoReplyP6vdyMovie - no ReplyP6vdyMovie.
ErrNoReplyP6vdyMovies - no ReplyP6vdyMovies.
ErrNoReplySteepAndCheap - invalid ReplySteepAndCheap.
ErrNoReplySteepAndCheapProduct - invalid ReplySteepAndCheapProduct.
ErrNoReplySteepAndCheapProducts - invalid ReplySteepAndCheapProducts.
ErrNoReplyTaobao - invalid ReplyTaobao.
ErrNoReplyTaobaoProduct - no ReplyTaobaoProduct.
ErrNoReplyTaobaoSearchResult - no ReplyTaobaoSearchResult.
ErrNoReplyTechInAsia - invalid ReplyTechInAsia.
ErrNoReplyTechInAsiaCompany - invalid ReplyTechInAsiaCompany.
ErrNoReplyTechInAsiaJob - invalid ReplyTechInAsiaJob.
ErrNoReplyTechInAsiaJobs - invalid ReplyTechInAsiaJobs.
ErrNoReplyTechInAsiaJobTags - invalid ReplyTechInAsiaJobTags.
ErrNoReplyTmall - invalid ReplyTmall.
ErrNoReplyTmallProduct - no ReplyTmallProduct.
ErrNoServAddr - There is no ServAddr.
ErrNoTag - There is no tag.
ErrNoToken - There is no token.
# Structs
AnalyzePageOptions - AnalyzePage Options.
Client - client.
ClientConfig -.
ClientMgr - 其它模块操作jccclient的主类 有service模式,在service模式下,线程安全.
Config - config.
DB -.
HostInfoCollection -.
JCCInfo - jarviscrawlercore infomation.
JCCNode - jarviscrawlercore node.
Pipeline - pipeline.
PipelineMgr - prpilines manager.
Tags - tags Tag: 如果Tag不为空,目标一定要包含这个Tag Or: 如果Or不为空,目标至少要包含一个Or And: 如果And不为空,目标必须包含全部And Exclude: 如果Exclude不为空,目标不嫩包含任何And.
Task - task.
TaskAlimama - task get data in alimama.
TaskAnalyzePage - task analyzepage.
TaskDouban - task get data in douban.
TaskGeoIP - task get ip geolocation.
TaskHao6v - task get data in hao6v.
TaskInvesting - task get data in investing.
TaskJD - task get data in jd.
TaskJRJ - task get data in jrj.
TaskManhuaDB - task get data in manhuadb.
TaskMountainSteals - task get data in mountainsteals.
TaskOABT - task get data in oabt.
TaskP6vdy - task get data in 6vdy.
TasksMap - tasks map.
TaskSteepAndCheap - task get data in steepandcheap.
TaskTaobao - task get data in taobao.
TaskTechInAsia - task get data in techinasia.
TaskTmall - task get data in tmall.
Viewport - viewport.
# Type aliases
ClientMgrState - ClientMgr state.
FuncTaskCallback - callback.
PipelineCode - pipeline code.