diff --git a/docs/Architecture/App.html b/docs/Architecture/App.html index 56e27371..0cb7c156 100644 --- a/docs/Architecture/App.html +++ b/docs/Architecture/App.html @@ -397,7 +397,7 @@ diff --git a/docs/Architecture/Celery.html b/docs/Architecture/Celery.html index 2f2bea93..252ebe69 100644 --- a/docs/Architecture/Celery.html +++ b/docs/Architecture/Celery.html @@ -397,7 +397,7 @@ diff --git a/docs/Architecture/index.html b/docs/Architecture/index.html index c271a5db..ff7b9d52 100644 --- a/docs/Architecture/index.html +++ b/docs/Architecture/index.html @@ -397,7 +397,7 @@ diff --git a/docs/Concept/Deploy.html b/docs/Concept/Deploy.html index f788cb78..e4e24233 100644 --- a/docs/Concept/Deploy.html +++ b/docs/Concept/Deploy.html @@ -399,7 +399,7 @@ diff --git a/docs/Concept/Node.html b/docs/Concept/Node.html index 4a40be7c..843a9f3a 100644 --- a/docs/Concept/Node.html +++ b/docs/Concept/Node.html @@ -398,7 +398,7 @@ diff --git a/docs/Concept/Spider.html b/docs/Concept/Spider.html index 1bfba7ec..4db586a8 100644 --- a/docs/Concept/Spider.html +++ b/docs/Concept/Spider.html @@ -403,7 +403,7 @@ diff --git a/docs/Concept/Task.html b/docs/Concept/Task.html index d31824cc..2554b943 100644 --- a/docs/Concept/Task.html +++ b/docs/Concept/Task.html @@ -398,7 +398,7 @@ diff --git a/docs/Concept/index.html b/docs/Concept/index.html index 92e359c1..a6a8fa6d 100644 --- a/docs/Concept/index.html +++ b/docs/Concept/index.html @@ -397,7 +397,7 @@ diff --git a/docs/Examples/index.html b/docs/Examples/index.html index af2ddff6..9e7c85b0 100644 --- a/docs/Examples/index.html +++ b/docs/Examples/index.html @@ -397,7 +397,7 @@ diff --git a/docs/QuickStart/Installation.html b/docs/QuickStart/Installation.html index 3e23c4a9..9fddabdf 100644 --- a/docs/QuickStart/Installation.html +++ b/docs/QuickStart/Installation.html @@ -408,7 +408,7 @@ npm install diff --git a/docs/QuickStart/Run.html b/docs/QuickStart/Run.html index c8beac8f..dfbd9374 100644 --- a/docs/QuickStart/Run.html +++ b/docs/QuickStart/Run.html @@ -385,16 +385,13 @@ FLASK_HOST = '127.0.0.1' FLASK_PORT = 8000
启动后端API,也就是一个Flask App,可以直接启动,或者用gunicorn代替。
-python app.py
-
-启动Flower服务(抱歉目前集成Flower到App服务中,必须单独启动来获取节点信息,后面的版本不需要这个操作)。
-python ./bin/run_flower.py
+python manage.py app
启动本地Worker。在其他节点中如果想只是想执行任务的话,只需要启动这一个服务就可以了。
-python ./bin/run_worker.py
+python manage.py worker
启动前端服务器。
-cd ../frontend
+cd frontend
npm run serve
@@ -440,7 +437,7 @@ npm run serve
diff --git a/docs/QuickStart/index.html b/docs/QuickStart/index.html
index 0885c354..d04cd0b6 100644
--- a/docs/QuickStart/index.html
+++ b/docs/QuickStart/index.html
@@ -401,7 +401,7 @@
diff --git a/docs/index.html b/docs/index.html
index c9f4837f..db12fef7 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -548,7 +548,7 @@ MONGO_DB = 'crawlab_test'
diff --git a/docs/search_index.json b/docs/search_index.json
index fa5dd752..8673f89d 100644
--- a/docs/search_index.json
+++ b/docs/search_index.json
@@ -1 +1 @@
-{"index":{"version":"0.5.12","fields":[{"name":"title","boost":10},{"name":"keywords","boost":15},{"name":"body","boost":1}],"ref":"url","documentStore":{"store":{"./":["#","'192.168.99.100'","'crawlab_test'","'test'","(中文)","./bin/run_app.py来启动应用。","./bin/run_flower.pi","./bin/run_worker.pi","27017","=","[","[x]","]","admin的单页应用。其中重用了很多el","app.pi","app或python","cd","class","col","col_nam","col_name:","crawlab","crawlab使用起来很方便,也很通用,可以适用于几乎任何主流语言和框架。它还有一个精美的前端界面,让用户可以方便的管理和运行爬虫。","crawlab的架构跟celery非常相似,但是加入了包括前端、爬虫、flower在内的额外模块,以支持爬虫管理的功能。","db","db[col_name]","def","demo","document","element","english","exampl","frontend","gerapi","import","instal","item","item,","item['task_id']","juejinpipeline(object):","manage.pi","mongo","mongo[mongo_db]","mongo_db","mongo_host","mongo_port","mongocli","mongoclient(host=mongo_host,","mongodb","mysql数据库支持","n","n/a","npm","os","os.environ.get('crawlab_collection')","os.environ.get('crawlab_task_id')","pip","pipelin","port=mongo_port)","process_item(self,","pymongo","python","python3","r","redi","requirements.txt","return","run","scrapi","scrapyd","scrapydweb","self.col.save(item)","serv","spider):","spiderkeep","todo","ui的控件来支持相应的展示。","y","与其他框架比较","与其他框架的集成","中间者","中间者跟celery中定义的一样,作为运行异步任务的队列。","以下是crawlab跟scrapy集成的例子,利用了crawlab传过来的task_id和collection_name。","任务","任务数据统计","任务是利用python的subprocess模块中的popen来实现的。任务id将以环境变量crawlab_task_id的形式存在于爬虫任务运行的进程中,并以此来关联抓取数据。","任务被触发并被节点执行。用户可以在任务详情页面中看到任务到状态、日志和抓取结果。","任务详情","依赖于scrapyd","全局搜索","分布式","前端","前端其实就是一个基于vue","后台应用","后端","启动flower服务","启动worker","启动后端api","因为很多现有当平台都依赖于scrapyd,限制了爬虫的编程语言以及框架,爬虫工程师只能用scrapy和python。当然,scrapy是非常优秀的爬虫框架,但是它不能做一切事情。","在config.py文件中,修改变量project_source_file_folder作为爬虫项目所在的目录。crawlab后台程序会自动发现这些爬虫项目并储存到数据库中。是不是很方便?","在你的爬虫程序中,你需要将crawlab_task_id的值以task_id作为可以存入数据库中。这样crawlab就直到如何将爬虫任务与抓取数据关联起来了。当前,crawlab只支持mongodb。","基于celery的爬虫分布式爬虫管理平台,支持多种编程语言以及多种爬虫框架.","多语言支持","安装","安装前台类库","安装后台类库","快速开始","截图","所有爬虫需要在抓取前被部署当相应当节点中。在\"爬虫详情\"页面点击\"deploy\"按钮,爬虫将被部署到所有有效到节点中。","抓取结果","文件管理","更多爬虫例子","架构","查看演示","框架","概览","爬虫","爬虫列表","爬虫详情","登录和用户管理","简介","管理平台","类型","网络服务","自动发现","节点","节点其实就是celery中的worker。一个节点运行时会连接到一个任务队列(例如redis)来接收和运行任务。所有爬虫需要在运行时被部署到节点上,用户在部署前需要定义节点的ip地址和端口。","节点监控","表格过滤","要求","请更改配置文件config.py,配置api和数据库连接.","运行前端","运行爬虫","这是一个flask应用,提供了必要的api来支持常规操作,例如crud、爬虫部署以及任务运行。每一个节点需要启动flask应用来支持爬虫部署。运行python","部署爬虫","部署爬虫之后,你可以在\"爬虫详情\"页面点击\"run\"按钮来启动爬虫。一个爬虫任务将被触发,你可以在任务列表页面中看到这个任务。","配置","重跑任务","限制以及有一些爬虫管理框架了,因此为啥还要用crawlab?","首页"],"QuickStart/":["安装","快速开始","运行"],"QuickStart/Installation.html":["#","cd","clone","frontend","git","https://github.com/tikazyq/crawlab","instal","npm","pip","r","requirements.txt","安装","安装前台类库","安装后台类库","安装类库","最快安装crawlab的方式是克隆一份代码到本地"],"QuickStart/Run.html":["#","'/tmp'","'/users/yeqing/projects/crawlab/spiders'","'/var/crawlab'","'/var/logs/crawlab'","'127.0.0.1'","'192.168.99.100'","'asia/shanghai'","'crawlab_test'","'crawlab_test',","'database':","'http://localhost:5555/api'","'mongodb://192.168.99.100:27017/'","'redis://192.168.99.100:6379/0'","'taskmeta_collection':","'tasks_celery',","../frontend","./bin/run_flower.pi","./bin/run_worker.pi","27017","8000","=","app.pi","app,可以直接启动,或者用gunicorn代替。","broker_url","cd","celeri","celery_enable_utc","celery_mongodb_backend_set","celery_result_backend","celery_timezon","celery后台url","databas","debug","flask","flask_host","flask_port","flower","flower_api_endpoint","flower服务地址","mongo_db","mongo_host","mongo_port","npm","project","project_deploy_file_fold","project_logs_fold","project_source_file_fold","project_tmp_fold","python","run","serv","true","variabl","{","}","中间者url,连接redi","临时文件目录","启动flower服务(抱歉目前集成flower到app服务中,必须单独启动来获取节点信息,后面的版本不需要这个操作)。","启动前端服务器。","启动后端api,也就是一个flask","启动本地worker。在其他节点中如果想只是想执行任务的话,只需要启动这一个服务就可以了。","在运行之前需要对crawlab进行一些配置,配置文件为config.py。","日志目录","爬虫源码根目录","爬虫部署根目录","运行"],"Concept/":["概念"],"Concept/Node.html":["节点","节点其实就是celery中的worker。一个节点运行时会连接到一个任务队列(例如redis)来接收和运行任务。所有爬虫需要在运行时被部署到节点上,用户在部署前需要定义节点的ip地址和端口。"],"Concept/Spider.html":["在config.py文件中,修改变量project_source_file_folder作为爬虫项目所在的目录。crawlab后台程序会自动发现这些爬虫项目并储存到数据库中。是不是很方便?","所有爬虫需要在抓取前被部署当相应当节点中。在\"爬虫详情\"页面点击\"deploy\"按钮,爬虫将被部署到所有有效到节点中。","爬虫","自动发现","运行爬虫","部署爬虫","部署爬虫之后,你可以在\"爬虫详情\"页面点击\"run\"按钮来启动爬虫。一个爬虫任务将被触发,你可以在任务列表页面中看到这个任务。"],"Concept/Task.html":["任务","任务被触发并被节点执行。用户可以在任务详情页面中看到任务到状态、日志和抓取结果。"],"Concept/Deploy.html":["所有爬虫在运行前需要被部署当相应当节点中。","部署","部署时,爬虫会被打包到相应的目录中,方便环境隔离,开发环境的爬虫和生产环境的爬虫需要打包部署来实现隔离。"],"Architecture/":["架构"],"Architecture/Celery.html":["celeri"],"Architecture/App.html":["app"],"Examples/":["exampl"]},"length":13},"tokenStore":{"root":{"2":{"7":{"0":{"1":{"7":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"8":{"0":{"0":{"0":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}},"docs":{}},"docs":{}},"docs":{}},"docs":{},"#":{"docs":{"./":{"ref":"./","tf":0.03571428571428571},"QuickStart/Installation.html":{"ref":"QuickStart/Installation.html","tf":0.1111111111111111},"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.12}}},"'":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},"'":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"9":{"2":{"docs":{},".":{"1":{"6":{"8":{"docs":{},".":{"9":{"9":{"docs":{},".":{"1":{"0":{"0":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"_":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}},",":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"'":{"docs":{},":":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"_":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"'":{"docs":{},",":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}}}}}}}}}}}}},"/":{"docs":{},"t":{"docs":{},"m":{"docs":{},"p":{"docs":{},"'":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"docs":{},"y":{"docs":{},"e":{"docs":{},"q":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"/":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"/":{"docs":{},"s":{"docs":{},"p":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"'":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"'":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"s":{"docs":{},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"'":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"a":{"docs":{},"/":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"h":{"docs":{},"a":{"docs":{},"i":{"docs":{},"'":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"'":{"docs":{},":":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"5":{"5":{"5":{"5":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"'":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"d":{"docs":{},"b":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"1":{"9":{"2":{"docs":{},".":{"1":{"6":{"8":{"docs":{},".":{"9":{"9":{"docs":{},".":{"1":{"0":{"0":{"docs":{},":":{"2":{"7":{"0":{"1":{"7":{"docs":{},"/":{"docs":{},"'":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"1":{"9":{"2":{"docs":{},".":{"1":{"6":{"8":{"docs":{},".":{"9":{"9":{"docs":{},".":{"1":{"0":{"0":{"docs":{},":":{"6":{"3":{"7":{"9":{"docs":{},"/":{"0":{"docs":{},"'":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},"(":{"docs":{},"中":{"docs":{},"文":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}},".":{"docs":{},"/":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"_":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},".":{"docs":{},"p":{"docs":{},"y":{"docs":{},"来":{"docs":{},"启":{"docs":{},"动":{"docs":{},"应":{"docs":{},"用":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"p":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}}}}}}}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"p":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"/":{"docs":{},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}}}}}}}}}},"=":{"docs":{"./":{"ref":"./","tf":0.04591836734693878},"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.16}}},"[":{"docs":{"./":{"ref":"./","tf":0.04591836734693878}},"x":{"docs":{},"]":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}},"]":{"docs":{"./":{"ref":"./","tf":0.04591836734693878}}},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"的":{"docs":{},"单":{"docs":{},"页":{"docs":{},"应":{"docs":{},"用":{"docs":{},"。":{"docs":{},"其":{"docs":{},"中":{"docs":{},"重":{"docs":{},"用":{"docs":{},"了":{"docs":{},"很":{"docs":{},"多":{"docs":{},"e":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"p":{"docs":{"Architecture/App.html":{"ref":"Architecture/App.html","tf":11}},".":{"docs":{},"p":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}},"或":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"启":{"docs":{},"动":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"用":{"docs":{},"g":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"n":{"docs":{},"代":{"docs":{},"替":{"docs":{},"。":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.01020408163265306},"QuickStart/Installation.html":{"ref":"QuickStart/Installation.html","tf":0.05555555555555555},"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"QuickStart/Installation.html":{"ref":"QuickStart/Installation.html","tf":0.05555555555555555}}}}}},"o":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.01020408163265306}},"e":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{"./":{"ref":"./","tf":0.01020408163265306}},"使":{"docs":{},"用":{"docs":{},"起":{"docs":{},"来":{"docs":{},"很":{"docs":{},"方":{"docs":{},"便":{"docs":{},",":{"docs":{},"也":{"docs":{},"很":{"docs":{},"通":{"docs":{},"用":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"适":{"docs":{},"用":{"docs":{},"于":{"docs":{},"几":{"docs":{},"乎":{"docs":{},"任":{"docs":{},"何":{"docs":{},"主":{"docs":{},"流":{"docs":{},"语":{"docs":{},"言":{"docs":{},"和":{"docs":{},"框":{"docs":{},"架":{"docs":{},"。":{"docs":{},"它":{"docs":{},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"精":{"docs":{},"美":{"docs":{},"的":{"docs":{},"前":{"docs":{},"端":{"docs":{},"界":{"docs":{},"面":{"docs":{},",":{"docs":{},"让":{"docs":{},"用":{"docs":{},"户":{"docs":{},"可":{"docs":{},"以":{"docs":{},"方":{"docs":{},"便":{"docs":{},"的":{"docs":{},"管":{"docs":{},"理":{"docs":{},"和":{"docs":{},"运":{"docs":{},"行":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"架":{"docs":{},"构":{"docs":{},"跟":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"非":{"docs":{},"常":{"docs":{},"相":{"docs":{},"似":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"加":{"docs":{},"入":{"docs":{},"了":{"docs":{},"包":{"docs":{},"括":{"docs":{},"前":{"docs":{},"端":{"docs":{},"、":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"、":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"在":{"docs":{},"内":{"docs":{},"的":{"docs":{},"额":{"docs":{},"外":{"docs":{},"模":{"docs":{},"块":{"docs":{},",":{"docs":{},"以":{"docs":{},"支":{"docs":{},"持":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"管":{"docs":{},"理":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01},"Architecture/Celery.html":{"ref":"Architecture/Celery.html","tf":11}}},"y":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"u":{"docs":{},"t":{"docs":{},"c":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"d":{"docs":{},"b":{"docs":{},"_":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"_":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}}}}}}},"后":{"docs":{},"台":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}}}}}}}}}},"d":{"docs":{},"b":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}},"[":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"]":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}},"e":{"docs":{},"f":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}},"m":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}}},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}},"x":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"Examples/":{"ref":"Examples/","tf":11}}}}}}}},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.01020408163265306},"QuickStart/Installation.html":{"ref":"QuickStart/Installation.html","tf":0.05555555555555555}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}}}}}}},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}},"_":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"地":{"docs":{},"址":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}},"i":{"docs":{},"t":{"docs":{"QuickStart/Installation.html":{"ref":"QuickStart/Installation.html","tf":0.05555555555555555}}}}},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.01020408163265306}}}}}}},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.01020408163265306},"QuickStart/Installation.html":{"ref":"QuickStart/Installation.html","tf":0.1111111111111111}}}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}},",":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}},"[":{"docs":{},"'":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"_":{"docs":{},"i":{"docs":{},"d":{"docs":{},"'":{"docs":{},"]":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}}}}},"j":{"docs":{},"u":{"docs":{},"e":{"docs":{},"j":{"docs":{},"i":{"docs":{},"n":{"docs":{},"p":{"docs":{},"i":{"docs":{},"p":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},")":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"p":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}},"[":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"_":{"docs":{},"d":{"docs":{},"b":{"docs":{},"]":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}},"_":{"docs":{},"d":{"docs":{},"b":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}}}},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"=":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"b":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}},"y":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"数":{"docs":{},"据":{"docs":{},"库":{"docs":{},"支":{"docs":{},"持":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}},"n":{"docs":{"./":{"ref":"./","tf":0.01020408163265306}},"/":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}},"p":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.01020408163265306},"QuickStart/Installation.html":{"ref":"QuickStart/Installation.html","tf":0.05555555555555555},"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}},"o":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},"i":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"'":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"'":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"_":{"docs":{},"i":{"docs":{},"d":{"docs":{},"'":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"QuickStart/Installation.html":{"ref":"QuickStart/Installation.html","tf":0.05555555555555555}},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"=":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}}}}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"o":{"docs":{},"y":{"docs":{},"_":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"s":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"_":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}}}}}}}}}}}}}}},"t":{"docs":{},"m":{"docs":{},"p":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}}}}}}}}}}}}}},"y":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"3":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}},"docs":{"./":{"ref":"./","tf":0.015306122448979591},"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.03}}}}}}}},"r":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"QuickStart/Installation.html":{"ref":"QuickStart/Installation.html","tf":0.05555555555555555}},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"t":{"docs":{},"x":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"QuickStart/Installation.html":{"ref":"QuickStart/Installation.html","tf":0.05555555555555555}}}}}}}}}}}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}},"u":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.01020408163265306}}},"y":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},".":{"docs":{},"s":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"v":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}},"p":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"d":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.02}}}}}},"u":{"docs":{},"i":{"docs":{},"的":{"docs":{},"控":{"docs":{},"件":{"docs":{},"来":{"docs":{},"支":{"docs":{},"持":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"展":{"docs":{},"示":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}}}},"y":{"docs":{"./":{"ref":"./","tf":0.061224489795918366}}},"与":{"docs":{},"其":{"docs":{},"他":{"docs":{},"框":{"docs":{},"架":{"docs":{},"比":{"docs":{},"较":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}},"的":{"docs":{},"集":{"docs":{},"成":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}},"中":{"docs":{},"间":{"docs":{},"者":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}},"跟":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"中":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"作":{"docs":{},"为":{"docs":{},"运":{"docs":{},"行":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"队":{"docs":{},"列":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},",":{"docs":{},"连":{"docs":{},"接":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}}}}}}}}}}}},"以":{"docs":{},"下":{"docs":{},"是":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"跟":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"y":{"docs":{},"集":{"docs":{},"成":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"利":{"docs":{},"用":{"docs":{},"了":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"传":{"docs":{},"过":{"docs":{},"来":{"docs":{},"的":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"_":{"docs":{},"i":{"docs":{},"d":{"docs":{},"和":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"任":{"docs":{},"务":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"Concept/Task.html":{"ref":"Concept/Task.html","tf":10.5}},"数":{"docs":{},"据":{"docs":{},"统":{"docs":{},"计":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}},"是":{"docs":{},"利":{"docs":{},"用":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"模":{"docs":{},"块":{"docs":{},"中":{"docs":{},"的":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"。":{"docs":{},"任":{"docs":{},"务":{"docs":{},"i":{"docs":{},"d":{"docs":{},"将":{"docs":{},"以":{"docs":{},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"_":{"docs":{},"i":{"docs":{},"d":{"docs":{},"的":{"docs":{},"形":{"docs":{},"式":{"docs":{},"存":{"docs":{},"在":{"docs":{},"于":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"任":{"docs":{},"务":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"进":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"并":{"docs":{},"以":{"docs":{},"此":{"docs":{},"来":{"docs":{},"关":{"docs":{},"联":{"docs":{},"抓":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"被":{"docs":{},"触":{"docs":{},"发":{"docs":{},"并":{"docs":{},"被":{"docs":{},"节":{"docs":{},"点":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{},"用":{"docs":{},"户":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"任":{"docs":{},"务":{"docs":{},"详":{"docs":{},"情":{"docs":{},"页":{"docs":{},"面":{"docs":{},"中":{"docs":{},"看":{"docs":{},"到":{"docs":{},"任":{"docs":{},"务":{"docs":{},"到":{"docs":{},"状":{"docs":{},"态":{"docs":{},"、":{"docs":{},"日":{"docs":{},"志":{"docs":{},"和":{"docs":{},"抓":{"docs":{},"取":{"docs":{},"结":{"docs":{},"果":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"Concept/Task.html":{"ref":"Concept/Task.html","tf":0.5}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"详":{"docs":{},"情":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}},"依":{"docs":{},"赖":{"docs":{},"于":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"y":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}},"全":{"docs":{},"局":{"docs":{},"搜":{"docs":{},"索":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}},"前":{"docs":{},"端":{"docs":{"./":{"ref":"./","tf":0.015306122448979591}},"其":{"docs":{},"实":{"docs":{},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"基":{"docs":{},"于":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}}},"后":{"docs":{},"台":{"docs":{},"应":{"docs":{},"用":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}},"端":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}},"启":{"docs":{},"动":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"服":{"docs":{},"务":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}},"(":{"docs":{},"抱":{"docs":{},"歉":{"docs":{},"目":{"docs":{},"前":{"docs":{},"集":{"docs":{},"成":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"到":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"服":{"docs":{},"务":{"docs":{},"中":{"docs":{},",":{"docs":{},"必":{"docs":{},"须":{"docs":{},"单":{"docs":{},"独":{"docs":{},"启":{"docs":{},"动":{"docs":{},"来":{"docs":{},"获":{"docs":{},"取":{"docs":{},"节":{"docs":{},"点":{"docs":{},"信":{"docs":{},"息":{"docs":{},",":{"docs":{},"后":{"docs":{},"面":{"docs":{},"的":{"docs":{},"版":{"docs":{},"本":{"docs":{},"不":{"docs":{},"需":{"docs":{},"要":{"docs":{},"这":{"docs":{},"个":{"docs":{},"操":{"docs":{},"作":{"docs":{},")":{"docs":{},"。":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}},"后":{"docs":{},"端":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}}}}}}}}}}}}}}},"前":{"docs":{},"端":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"。":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}}}}},"本":{"docs":{},"地":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{},"在":{"docs":{},"其":{"docs":{},"他":{"docs":{},"节":{"docs":{},"点":{"docs":{},"中":{"docs":{},"如":{"docs":{},"果":{"docs":{},"想":{"docs":{},"只":{"docs":{},"是":{"docs":{},"想":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"启":{"docs":{},"动":{"docs":{},"这":{"docs":{},"一":{"docs":{},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"了":{"docs":{},"。":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"因":{"docs":{},"为":{"docs":{},"很":{"docs":{},"多":{"docs":{},"现":{"docs":{},"有":{"docs":{},"当":{"docs":{},"平":{"docs":{},"台":{"docs":{},"都":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"于":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"y":{"docs":{},"d":{"docs":{},",":{"docs":{},"限":{"docs":{},"制":{"docs":{},"了":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"的":{"docs":{},"编":{"docs":{},"程":{"docs":{},"语":{"docs":{},"言":{"docs":{},"以":{"docs":{},"及":{"docs":{},"框":{"docs":{},"架":{"docs":{},",":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"工":{"docs":{},"程":{"docs":{},"师":{"docs":{},"只":{"docs":{},"能":{"docs":{},"用":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"y":{"docs":{},"和":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"。":{"docs":{},"当":{"docs":{},"然":{"docs":{},",":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"y":{"docs":{},"是":{"docs":{},"非":{"docs":{},"常":{"docs":{},"优":{"docs":{},"秀":{"docs":{},"的":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"框":{"docs":{},"架":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"它":{"docs":{},"不":{"docs":{},"能":{"docs":{},"做":{"docs":{},"一":{"docs":{},"切":{"docs":{},"事":{"docs":{},"情":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},".":{"docs":{},"p":{"docs":{},"y":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},",":{"docs":{},"修":{"docs":{},"改":{"docs":{},"变":{"docs":{},"量":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"_":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"作":{"docs":{},"为":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"项":{"docs":{},"目":{"docs":{},"所":{"docs":{},"在":{"docs":{},"的":{"docs":{},"目":{"docs":{},"录":{"docs":{},"。":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"后":{"docs":{},"台":{"docs":{},"程":{"docs":{},"序":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"发":{"docs":{},"现":{"docs":{},"这":{"docs":{},"些":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"项":{"docs":{},"目":{"docs":{},"并":{"docs":{},"储":{"docs":{},"存":{"docs":{},"到":{"docs":{},"数":{"docs":{},"据":{"docs":{},"库":{"docs":{},"中":{"docs":{},"。":{"docs":{},"是":{"docs":{},"不":{"docs":{},"是":{"docs":{},"很":{"docs":{},"方":{"docs":{},"便":{"docs":{},"?":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"Concept/Spider.html":{"ref":"Concept/Spider.html","tf":0.14285714285714285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"你":{"docs":{},"的":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"程":{"docs":{},"序":{"docs":{},"中":{"docs":{},",":{"docs":{},"你":{"docs":{},"需":{"docs":{},"要":{"docs":{},"将":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"_":{"docs":{},"i":{"docs":{},"d":{"docs":{},"的":{"docs":{},"值":{"docs":{},"以":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"_":{"docs":{},"i":{"docs":{},"d":{"docs":{},"作":{"docs":{},"为":{"docs":{},"可":{"docs":{},"以":{"docs":{},"存":{"docs":{},"入":{"docs":{},"数":{"docs":{},"据":{"docs":{},"库":{"docs":{},"中":{"docs":{},"。":{"docs":{},"这":{"docs":{},"样":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"就":{"docs":{},"直":{"docs":{},"到":{"docs":{},"如":{"docs":{},"何":{"docs":{},"将":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"任":{"docs":{},"务":{"docs":{},"与":{"docs":{},"抓":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},"关":{"docs":{},"联":{"docs":{},"起":{"docs":{},"来":{"docs":{},"了":{"docs":{},"。":{"docs":{},"当":{"docs":{},"前":{"docs":{},",":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"只":{"docs":{},"支":{"docs":{},"持":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"d":{"docs":{},"b":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"之":{"docs":{},"前":{"docs":{},"需":{"docs":{},"要":{"docs":{},"对":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"进":{"docs":{},"行":{"docs":{},"一":{"docs":{},"些":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{},"为":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},".":{"docs":{},"p":{"docs":{},"y":{"docs":{},"。":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"基":{"docs":{},"于":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"的":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"管":{"docs":{},"理":{"docs":{},"平":{"docs":{},"台":{"docs":{},",":{"docs":{},"支":{"docs":{},"持":{"docs":{},"多":{"docs":{},"种":{"docs":{},"编":{"docs":{},"程":{"docs":{},"语":{"docs":{},"言":{"docs":{},"以":{"docs":{},"及":{"docs":{},"多":{"docs":{},"种":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"框":{"docs":{},"架":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"多":{"docs":{},"语":{"docs":{},"言":{"docs":{},"支":{"docs":{},"持":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}},"安":{"docs":{},"装":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"QuickStart/":{"ref":"QuickStart/","tf":0.3333333333333333},"QuickStart/Installation.html":{"ref":"QuickStart/Installation.html","tf":10.055555555555555}},"前":{"docs":{},"台":{"docs":{},"类":{"docs":{},"库":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"QuickStart/Installation.html":{"ref":"QuickStart/Installation.html","tf":0.05555555555555555}}}}}},"后":{"docs":{},"台":{"docs":{},"类":{"docs":{},"库":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"QuickStart/Installation.html":{"ref":"QuickStart/Installation.html","tf":0.05555555555555555}}}}}},"类":{"docs":{},"库":{"docs":{"QuickStart/Installation.html":{"ref":"QuickStart/Installation.html","tf":0.05555555555555555}}}}}},"快":{"docs":{},"速":{"docs":{},"开":{"docs":{},"始":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"QuickStart/":{"ref":"QuickStart/","tf":10.333333333333334}}}}}},"截":{"docs":{},"图":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}},"所":{"docs":{},"有":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"抓":{"docs":{},"取":{"docs":{},"前":{"docs":{},"被":{"docs":{},"部":{"docs":{},"署":{"docs":{},"当":{"docs":{},"相":{"docs":{},"应":{"docs":{},"当":{"docs":{},"节":{"docs":{},"点":{"docs":{},"中":{"docs":{},"。":{"docs":{},"在":{"docs":{},"\"":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"详":{"docs":{},"情":{"docs":{},"\"":{"docs":{},"页":{"docs":{},"面":{"docs":{},"点":{"docs":{},"击":{"docs":{},"\"":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"o":{"docs":{},"y":{"docs":{},"\"":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"将":{"docs":{},"被":{"docs":{},"部":{"docs":{},"署":{"docs":{},"到":{"docs":{},"所":{"docs":{},"有":{"docs":{},"有":{"docs":{},"效":{"docs":{},"到":{"docs":{},"节":{"docs":{},"点":{"docs":{},"中":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"Concept/Spider.html":{"ref":"Concept/Spider.html","tf":0.14285714285714285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"前":{"docs":{},"需":{"docs":{},"要":{"docs":{},"被":{"docs":{},"部":{"docs":{},"署":{"docs":{},"当":{"docs":{},"相":{"docs":{},"应":{"docs":{},"当":{"docs":{},"节":{"docs":{},"点":{"docs":{},"中":{"docs":{},"。":{"docs":{"Concept/Deploy.html":{"ref":"Concept/Deploy.html","tf":0.3333333333333333}}}}}}}}}}}}}}}}}}}}}}},"抓":{"docs":{},"取":{"docs":{},"结":{"docs":{},"果":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}},"文":{"docs":{},"件":{"docs":{},"管":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}},"更":{"docs":{},"多":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"例":{"docs":{},"子":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}},"架":{"docs":{},"构":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"Architecture/":{"ref":"Architecture/","tf":11}}}},"查":{"docs":{},"看":{"docs":{},"演":{"docs":{},"示":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}},"框":{"docs":{},"架":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}},"概":{"docs":{},"览":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}},"念":{"docs":{"Concept/":{"ref":"Concept/","tf":11}}}},"爬":{"docs":{},"虫":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"Concept/Spider.html":{"ref":"Concept/Spider.html","tf":10.142857142857142}},"列":{"docs":{},"表":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}},"详":{"docs":{},"情":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}},"源":{"docs":{},"码":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}}}},"部":{"docs":{},"署":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}}}}}},"登":{"docs":{},"录":{"docs":{},"和":{"docs":{},"用":{"docs":{},"户":{"docs":{},"管":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}},"简":{"docs":{},"介":{"docs":{"./":{"ref":"./","tf":10}}}},"管":{"docs":{},"理":{"docs":{},"平":{"docs":{},"台":{"docs":{"./":{"ref":"./","tf":0.02040816326530612}}}}}},"类":{"docs":{},"型":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}},"网":{"docs":{},"络":{"docs":{},"服":{"docs":{},"务":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}},"自":{"docs":{},"动":{"docs":{},"发":{"docs":{},"现":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"Concept/Spider.html":{"ref":"Concept/Spider.html","tf":0.14285714285714285}}}}}},"节":{"docs":{},"点":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"Concept/Node.html":{"ref":"Concept/Node.html","tf":10.5}},"其":{"docs":{},"实":{"docs":{},"就":{"docs":{},"是":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"中":{"docs":{},"的":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{},"一":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"会":{"docs":{},"连":{"docs":{},"接":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"任":{"docs":{},"务":{"docs":{},"队":{"docs":{},"列":{"docs":{},"(":{"docs":{},"例":{"docs":{},"如":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},"来":{"docs":{},"接":{"docs":{},"收":{"docs":{},"和":{"docs":{},"运":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},"。":{"docs":{},"所":{"docs":{},"有":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"被":{"docs":{},"部":{"docs":{},"署":{"docs":{},"到":{"docs":{},"节":{"docs":{},"点":{"docs":{},"上":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"在":{"docs":{},"部":{"docs":{},"署":{"docs":{},"前":{"docs":{},"需":{"docs":{},"要":{"docs":{},"定":{"docs":{},"义":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"i":{"docs":{},"p":{"docs":{},"地":{"docs":{},"址":{"docs":{},"和":{"docs":{},"端":{"docs":{},"口":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"Concept/Node.html":{"ref":"Concept/Node.html","tf":0.5}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"监":{"docs":{},"控":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}},"表":{"docs":{},"格":{"docs":{},"过":{"docs":{},"滤":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}},"要":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}},"请":{"docs":{},"更":{"docs":{},"改":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},".":{"docs":{},"p":{"docs":{},"y":{"docs":{},",":{"docs":{},"配":{"docs":{},"置":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"和":{"docs":{},"数":{"docs":{},"据":{"docs":{},"库":{"docs":{},"连":{"docs":{},"接":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{"QuickStart/":{"ref":"QuickStart/","tf":0.3333333333333333},"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":10.01}},"前":{"docs":{},"端":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}},"爬":{"docs":{},"虫":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"Concept/Spider.html":{"ref":"Concept/Spider.html","tf":0.14285714285714285}}}}}},"这":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"必":{"docs":{},"要":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"来":{"docs":{},"支":{"docs":{},"持":{"docs":{},"常":{"docs":{},"规":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"c":{"docs":{},"r":{"docs":{},"u":{"docs":{},"d":{"docs":{},"、":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"部":{"docs":{},"署":{"docs":{},"以":{"docs":{},"及":{"docs":{},"任":{"docs":{},"务":{"docs":{},"运":{"docs":{},"行":{"docs":{},"。":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},"需":{"docs":{},"要":{"docs":{},"启":{"docs":{},"动":{"docs":{},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"应":{"docs":{},"用":{"docs":{},"来":{"docs":{},"支":{"docs":{},"持":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"部":{"docs":{},"署":{"docs":{},"。":{"docs":{},"运":{"docs":{},"行":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"部":{"docs":{},"署":{"docs":{"Concept/Deploy.html":{"ref":"Concept/Deploy.html","tf":10.333333333333334}},"爬":{"docs":{},"虫":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"Concept/Spider.html":{"ref":"Concept/Spider.html","tf":0.14285714285714285}},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"\"":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"详":{"docs":{},"情":{"docs":{},"\"":{"docs":{},"页":{"docs":{},"面":{"docs":{},"点":{"docs":{},"击":{"docs":{},"\"":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"\"":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"来":{"docs":{},"启":{"docs":{},"动":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"。":{"docs":{},"一":{"docs":{},"个":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"任":{"docs":{},"务":{"docs":{},"将":{"docs":{},"被":{"docs":{},"触":{"docs":{},"发":{"docs":{},",":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"任":{"docs":{},"务":{"docs":{},"列":{"docs":{},"表":{"docs":{},"页":{"docs":{},"面":{"docs":{},"中":{"docs":{},"看":{"docs":{},"到":{"docs":{},"这":{"docs":{},"个":{"docs":{},"任":{"docs":{},"务":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"Concept/Spider.html":{"ref":"Concept/Spider.html","tf":0.14285714285714285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"时":{"docs":{},",":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"会":{"docs":{},"被":{"docs":{},"打":{"docs":{},"包":{"docs":{},"到":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"目":{"docs":{},"录":{"docs":{},"中":{"docs":{},",":{"docs":{},"方":{"docs":{},"便":{"docs":{},"环":{"docs":{},"境":{"docs":{},"隔":{"docs":{},"离":{"docs":{},",":{"docs":{},"开":{"docs":{},"发":{"docs":{},"环":{"docs":{},"境":{"docs":{},"的":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"和":{"docs":{},"生":{"docs":{},"产":{"docs":{},"环":{"docs":{},"境":{"docs":{},"的":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"需":{"docs":{},"要":{"docs":{},"打":{"docs":{},"包":{"docs":{},"部":{"docs":{},"署":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"隔":{"docs":{},"离":{"docs":{},"。":{"docs":{"Concept/Deploy.html":{"ref":"Concept/Deploy.html","tf":0.3333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}},"重":{"docs":{},"跑":{"docs":{},"任":{"docs":{},"务":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}},"限":{"docs":{},"制":{"docs":{},"以":{"docs":{},"及":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"管":{"docs":{},"理":{"docs":{},"框":{"docs":{},"架":{"docs":{},"了":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"为":{"docs":{},"啥":{"docs":{},"还":{"docs":{},"要":{"docs":{},"用":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"?":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"首":{"docs":{},"页":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"t":{"docs":{},"i":{"docs":{},"k":{"docs":{},"a":{"docs":{},"z":{"docs":{},"y":{"docs":{},"q":{"docs":{},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{"QuickStart/Installation.html":{"ref":"QuickStart/Installation.html","tf":0.05555555555555555}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"最":{"docs":{},"快":{"docs":{},"安":{"docs":{},"装":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"是":{"docs":{},"克":{"docs":{},"隆":{"docs":{},"一":{"docs":{},"份":{"docs":{},"代":{"docs":{},"码":{"docs":{},"到":{"docs":{},"本":{"docs":{},"地":{"docs":{"QuickStart/Installation.html":{"ref":"QuickStart/Installation.html","tf":0.05555555555555555}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"r":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.05}}}}}}}}},"{":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}},"}":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}},"临":{"docs":{},"时":{"docs":{},"文":{"docs":{},"件":{"docs":{},"目":{"docs":{},"录":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}}}}},"日":{"docs":{},"志":{"docs":{},"目":{"docs":{},"录":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.01}}}}}}},"length":245},"corpusTokens":["#","'/tmp'","'/users/yeqing/projects/crawlab/spiders'","'/var/crawlab'","'/var/logs/crawlab'","'127.0.0.1'","'192.168.99.100'","'asia/shanghai'","'crawlab_test'","'crawlab_test',","'database':","'http://localhost:5555/api'","'mongodb://192.168.99.100:27017/'","'redis://192.168.99.100:6379/0'","'taskmeta_collection':","'tasks_celery',","'test'","(中文)","../frontend","./bin/run_app.py来启动应用。","./bin/run_flower.pi","./bin/run_worker.pi","27017","8000","=","[","[x]","]","admin的单页应用。其中重用了很多el","app","app.pi","app或python","app,可以直接启动,或者用gunicorn代替。","broker_url","cd","celeri","celery_enable_utc","celery_mongodb_backend_set","celery_result_backend","celery_timezon","celery后台url","class","clone","col","col_nam","col_name:","crawlab","crawlab使用起来很方便,也很通用,可以适用于几乎任何主流语言和框架。它还有一个精美的前端界面,让用户可以方便的管理和运行爬虫。","crawlab的架构跟celery非常相似,但是加入了包括前端、爬虫、flower在内的额外模块,以支持爬虫管理的功能。","databas","db","db[col_name]","debug","def","demo","document","element","english","exampl","flask","flask_host","flask_port","flower","flower_api_endpoint","flower服务地址","frontend","gerapi","git","https://github.com/tikazyq/crawlab","import","instal","item","item,","item['task_id']","juejinpipeline(object):","manage.pi","mongo","mongo[mongo_db]","mongo_db","mongo_host","mongo_port","mongocli","mongoclient(host=mongo_host,","mongodb","mysql数据库支持","n","n/a","npm","os","os.environ.get('crawlab_collection')","os.environ.get('crawlab_task_id')","pip","pipelin","port=mongo_port)","process_item(self,","project","project_deploy_file_fold","project_logs_fold","project_source_file_fold","project_tmp_fold","pymongo","python","python3","r","redi","requirements.txt","return","run","scrapi","scrapyd","scrapydweb","self.col.save(item)","serv","spider):","spiderkeep","todo","true","ui的控件来支持相应的展示。","variabl","y","{","}","与其他框架比较","与其他框架的集成","中间者","中间者url,连接redi","中间者跟celery中定义的一样,作为运行异步任务的队列。","临时文件目录","以下是crawlab跟scrapy集成的例子,利用了crawlab传过来的task_id和collection_name。","任务","任务数据统计","任务是利用python的subprocess模块中的popen来实现的。任务id将以环境变量crawlab_task_id的形式存在于爬虫任务运行的进程中,并以此来关联抓取数据。","任务被触发并被节点执行。用户可以在任务详情页面中看到任务到状态、日志和抓取结果。","任务详情","依赖于scrapyd","全局搜索","分布式","前端","前端其实就是一个基于vue","后台应用","后端","启动flower服务","启动flower服务(抱歉目前集成flower到app服务中,必须单独启动来获取节点信息,后面的版本不需要这个操作)。","启动worker","启动前端服务器。","启动后端api","启动后端api,也就是一个flask","启动本地worker。在其他节点中如果想只是想执行任务的话,只需要启动这一个服务就可以了。","因为很多现有当平台都依赖于scrapyd,限制了爬虫的编程语言以及框架,爬虫工程师只能用scrapy和python。当然,scrapy是非常优秀的爬虫框架,但是它不能做一切事情。","在config.py文件中,修改变量project_source_file_folder作为爬虫项目所在的目录。crawlab后台程序会自动发现这些爬虫项目并储存到数据库中。是不是很方便?","在你的爬虫程序中,你需要将crawlab_task_id的值以task_id作为可以存入数据库中。这样crawlab就直到如何将爬虫任务与抓取数据关联起来了。当前,crawlab只支持mongodb。","在运行之前需要对crawlab进行一些配置,配置文件为config.py。","基于celery的爬虫分布式爬虫管理平台,支持多种编程语言以及多种爬虫框架.","多语言支持","安装","安装前台类库","安装后台类库","安装类库","快速开始","截图","所有爬虫在运行前需要被部署当相应当节点中。","所有爬虫需要在抓取前被部署当相应当节点中。在\"爬虫详情\"页面点击\"deploy\"按钮,爬虫将被部署到所有有效到节点中。","抓取结果","文件管理","日志目录","更多爬虫例子","最快安装crawlab的方式是克隆一份代码到本地","架构","查看演示","框架","概念","概览","爬虫","爬虫列表","爬虫源码根目录","爬虫详情","爬虫部署根目录","登录和用户管理","简介","管理平台","类型","网络服务","自动发现","节点","节点其实就是celery中的worker。一个节点运行时会连接到一个任务队列(例如redis)来接收和运行任务。所有爬虫需要在运行时被部署到节点上,用户在部署前需要定义节点的ip地址和端口。","节点监控","表格过滤","要求","请更改配置文件config.py,配置api和数据库连接.","运行","运行前端","运行爬虫","这是一个flask应用,提供了必要的api来支持常规操作,例如crud、爬虫部署以及任务运行。每一个节点需要启动flask应用来支持爬虫部署。运行python","部署","部署时,爬虫会被打包到相应的目录中,方便环境隔离,开发环境的爬虫和生产环境的爬虫需要打包部署来实现隔离。","部署爬虫","部署爬虫之后,你可以在\"爬虫详情\"页面点击\"run\"按钮来启动爬虫。一个爬虫任务将被触发,你可以在任务列表页面中看到这个任务。","配置","重跑任务","限制以及有一些爬虫管理框架了,因此为啥还要用crawlab?","首页"],"pipeline":["stopWordFilter","stemmer"]},"store":{"./":{"url":"./","title":"简介","keywords":"","body":"Crawlab\n基于Celery的爬虫分布式爬虫管理平台,支持多种编程语言以及多种爬虫框架.\n查看演示 Demo\nEnglish Documentation\n要求\n\nPython3\nMongoDB\nRedis\n\n安装\n# 安装后台类库\npip install -r requirements.txt\n\n# 安装前台类库\ncd frontend\nnpm install\n\n配置\n请更改配置文件config.py,配置API和数据库连接.\n快速开始\n# 启动后端API\npython app.py\n\n# 启动Flower服务\npython ./bin/run_flower.py\n\n# 启动worker\npython ./bin/run_worker.py\n\n# 运行前端\ncd frontend\nnpm run serve\n\n截图\n首页\n\n爬虫列表\n\n爬虫详情 - 概览\n\n任务详情 - 抓取结果\n\n架构\nCrawlab的架构跟Celery非常相似,但是加入了包括前端、爬虫、Flower在内的额外模块,以支持爬虫管理的功能。\n\n节点\n节点其实就是Celery中的Worker。一个节点运行时会连接到一个任务队列(例如Redis)来接收和运行任务。所有爬虫需要在运行时被部署到节点上,用户在部署前需要定义节点的IP地址和端口。\n爬虫\n自动发现\n在config.py文件中,修改变量PROJECT_SOURCE_FILE_FOLDER作为爬虫项目所在的目录。Crawlab后台程序会自动发现这些爬虫项目并储存到数据库中。是不是很方便?\n部署爬虫\n所有爬虫需要在抓取前被部署当相应当节点中。在\"爬虫详情\"页面点击\"Deploy\"按钮,爬虫将被部署到所有有效到节点中。\n运行爬虫\n部署爬虫之后,你可以在\"爬虫详情\"页面点击\"Run\"按钮来启动爬虫。一个爬虫任务将被触发,你可以在任务列表页面中看到这个任务。\n任务\n任务被触发并被节点执行。用户可以在任务详情页面中看到任务到状态、日志和抓取结果。\n后台应用\n这是一个Flask应用,提供了必要的API来支持常规操作,例如CRUD、爬虫部署以及任务运行。每一个节点需要启动Flask应用来支持爬虫部署。运行python manage.py app或python ./bin/run_app.py来启动应用。\n中间者\n中间者跟Celery中定义的一样,作为运行异步任务的队列。\n前端\n前端其实就是一个基于Vue-Element-Admin的单页应用。其中重用了很多Element-UI的控件来支持相应的展示。\n与其他框架的集成\n任务是利用python的subprocess模块中的Popen来实现的。任务ID将以环境变量CRAWLAB_TASK_ID的形式存在于爬虫任务运行的进程中,并以此来关联抓取数据。\n在你的爬虫程序中,你需要将CRAWLAB_TASK_ID的值以task_id作为可以存入数据库中。这样Crawlab就直到如何将爬虫任务与抓取数据关联起来了。当前,Crawlab只支持MongoDB。\nScrapy\n以下是Crawlab跟Scrapy集成的例子,利用了Crawlab传过来的task_id和collection_name。\nimport os\nfrom pymongo import MongoClient\n\nMONGO_HOST = '192.168.99.100'\nMONGO_PORT = 27017\nMONGO_DB = 'crawlab_test'\n\n# scrapy example in the pipeline\nclass JuejinPipeline(object):\n mongo = MongoClient(host=MONGO_HOST, port=MONGO_PORT)\n db = mongo[MONGO_DB]\n col_name = os.environ.get('CRAWLAB_COLLECTION')\n if not col_name:\n col_name = 'test'\n col = db[col_name]\n\n def process_item(self, item, spider):\n item['task_id'] = os.environ.get('CRAWLAB_TASK_ID')\n self.col.save(item)\n return item\n\n与其他框架比较\n限制以及有一些爬虫管理框架了,因此为啥还要用Crawlab?\n因为很多现有当平台都依赖于Scrapyd,限制了爬虫的编程语言以及框架,爬虫工程师只能用scrapy和python。当然,scrapy是非常优秀的爬虫框架,但是它不能做一切事情。\nCrawlab使用起来很方便,也很通用,可以适用于几乎任何主流语言和框架。它还有一个精美的前端界面,让用户可以方便的管理和运行爬虫。\n\n\n\n框架\n类型\n分布式\n前端\n依赖于Scrapyd\n\n\n\n\nCrawlab\n管理平台\nY\nY\nN\n\n\nGerapy\n管理平台\nY\nY\nY\n\n\nSpiderKeeper\n管理平台\nY\nY\nY\n\n\nScrapydWeb\n管理平台\nY\nY\nY\n\n\nScrapyd\n网络服务\nY\nN\nN/A\n\n\n\nTODOs\n后端\n\n[ ] 文件管理\n[ ] MySQL数据库支持\n[ ] 重跑任务\n[ ] 节点监控\n[ ] 更多爬虫例子\n\n前端\n\n[ ] 任务数据统计\n[ ] 表格过滤\n[x] 多语言支持 (中文)\n[ ] 登录和用户管理\n[ ] 全局搜索\n\n"},"QuickStart/":{"url":"QuickStart/","title":"快速开始","keywords":"","body":"快速开始\n\n安装\n运行\n\n"},"QuickStart/Installation.html":{"url":"QuickStart/Installation.html","title":"安装","keywords":"","body":"安装\n最快安装Crawlab的方式是克隆一份代码到本地\ngit clone https://github.com/tikazyq/crawlab\n\n安装类库\n# 安装后台类库\npip install -r requirements.txt\n\n# 安装前台类库\ncd frontend\nnpm install\n\n"},"QuickStart/Run.html":{"url":"QuickStart/Run.html","title":"运行","keywords":"","body":"运行\n在运行之前需要对Crawlab进行一些配置,配置文件为config.py。\n# project variables\nPROJECT_SOURCE_FILE_FOLDER = '/Users/yeqing/projects/crawlab/spiders' # 爬虫源码根目录\nPROJECT_DEPLOY_FILE_FOLDER = '/var/crawlab' # 爬虫部署根目录\nPROJECT_LOGS_FOLDER = '/var/logs/crawlab' # 日志目录\nPROJECT_TMP_FOLDER = '/tmp' # 临时文件目录\n\n# celery variables\nBROKER_URL = 'redis://192.168.99.100:6379/0' # 中间者URL,连接redis\nCELERY_RESULT_BACKEND = 'mongodb://192.168.99.100:27017/' # CELERY后台URL\nCELERY_MONGODB_BACKEND_SETTINGS = {\n 'database': 'crawlab_test',\n 'taskmeta_collection': 'tasks_celery',\n}\nCELERY_TIMEZONE = 'Asia/Shanghai'\nCELERY_ENABLE_UTC = True\n\n# flower variables\nFLOWER_API_ENDPOINT = 'http://localhost:5555/api' # Flower服务地址\n\n# database variables\nMONGO_HOST = '192.168.99.100'\nMONGO_PORT = 27017\nMONGO_DB = 'crawlab_test'\n\n# flask variables\nDEBUG = True\nFLASK_HOST = '127.0.0.1'\nFLASK_PORT = 8000\n\n启动后端API,也就是一个Flask App,可以直接启动,或者用gunicorn代替。\npython app.py\n\n启动Flower服务(抱歉目前集成Flower到App服务中,必须单独启动来获取节点信息,后面的版本不需要这个操作)。\npython ./bin/run_flower.py\n\n启动本地Worker。在其他节点中如果想只是想执行任务的话,只需要启动这一个服务就可以了。\npython ./bin/run_worker.py\n\n启动前端服务器。\ncd ../frontend\nnpm run serve\n\n"},"Concept/":{"url":"Concept/","title":"概念","keywords":"","body":"概念\n"},"Concept/Node.html":{"url":"Concept/Node.html","title":"节点","keywords":"","body":"节点\n节点其实就是Celery中的Worker。一个节点运行时会连接到一个任务队列(例如Redis)来接收和运行任务。所有爬虫需要在运行时被部署到节点上,用户在部署前需要定义节点的IP地址和端口。\n"},"Concept/Spider.html":{"url":"Concept/Spider.html","title":"爬虫","keywords":"","body":"爬虫\n自动发现\n在config.py文件中,修改变量PROJECT_SOURCE_FILE_FOLDER作为爬虫项目所在的目录。Crawlab后台程序会自动发现这些爬虫项目并储存到数据库中。是不是很方便?\n部署爬虫\n所有爬虫需要在抓取前被部署当相应当节点中。在\"爬虫详情\"页面点击\"Deploy\"按钮,爬虫将被部署到所有有效到节点中。\n运行爬虫\n部署爬虫之后,你可以在\"爬虫详情\"页面点击\"Run\"按钮来启动爬虫。一个爬虫任务将被触发,你可以在任务列表页面中看到这个任务。\n"},"Concept/Task.html":{"url":"Concept/Task.html","title":"任务","keywords":"","body":"任务\n任务被触发并被节点执行。用户可以在任务详情页面中看到任务到状态、日志和抓取结果。\n"},"Concept/Deploy.html":{"url":"Concept/Deploy.html","title":"部署","keywords":"","body":"部署\n所有爬虫在运行前需要被部署当相应当节点中。\n部署时,爬虫会被打包到相应的目录中,方便环境隔离,开发环境的爬虫和生产环境的爬虫需要打包部署来实现隔离。\n"},"Architecture/":{"url":"Architecture/","title":"架构","keywords":"","body":"架构\n"},"Architecture/Celery.html":{"url":"Architecture/Celery.html","title":"Celery","keywords":"","body":"Celery\n"},"Architecture/App.html":{"url":"Architecture/App.html","title":"App","keywords":"","body":"App\n"},"Examples/":{"url":"Examples/","title":"Examples","keywords":"","body":"Examples\n"}}}
\ No newline at end of file
+{"index":{"version":"0.5.12","fields":[{"name":"title","boost":10},{"name":"keywords","boost":15},{"name":"body","boost":1}],"ref":"url","documentStore":{"store":{"./":["#","'192.168.99.100'","'crawlab_test'","'test'","(中文)","./bin/run_app.py来启动应用。","./bin/run_flower.pi","./bin/run_worker.pi","27017","=","[","[x]","]","admin的单页应用。其中重用了很多el","app.pi","app或python","cd","class","col","col_nam","col_name:","crawlab","crawlab使用起来很方便,也很通用,可以适用于几乎任何主流语言和框架。它还有一个精美的前端界面,让用户可以方便的管理和运行爬虫。","crawlab的架构跟celery非常相似,但是加入了包括前端、爬虫、flower在内的额外模块,以支持爬虫管理的功能。","db","db[col_name]","def","demo","document","element","english","exampl","frontend","gerapi","import","instal","item","item,","item['task_id']","juejinpipeline(object):","manage.pi","mongo","mongo[mongo_db]","mongo_db","mongo_host","mongo_port","mongocli","mongoclient(host=mongo_host,","mongodb","mysql数据库支持","n","n/a","npm","os","os.environ.get('crawlab_collection')","os.environ.get('crawlab_task_id')","pip","pipelin","port=mongo_port)","process_item(self,","pymongo","python","python3","r","redi","requirements.txt","return","run","scrapi","scrapyd","scrapydweb","self.col.save(item)","serv","spider):","spiderkeep","todo","ui的控件来支持相应的展示。","y","与其他框架比较","与其他框架的集成","中间者","中间者跟celery中定义的一样,作为运行异步任务的队列。","以下是crawlab跟scrapy集成的例子,利用了crawlab传过来的task_id和collection_name。","任务","任务数据统计","任务是利用python的subprocess模块中的popen来实现的。任务id将以环境变量crawlab_task_id的形式存在于爬虫任务运行的进程中,并以此来关联抓取数据。","任务被触发并被节点执行。用户可以在任务详情页面中看到任务到状态、日志和抓取结果。","任务详情","依赖于scrapyd","全局搜索","分布式","前端","前端其实就是一个基于vue","后台应用","后端","启动flower服务","启动worker","启动后端api","因为很多现有当平台都依赖于scrapyd,限制了爬虫的编程语言以及框架,爬虫工程师只能用scrapy和python。当然,scrapy是非常优秀的爬虫框架,但是它不能做一切事情。","在config.py文件中,修改变量project_source_file_folder作为爬虫项目所在的目录。crawlab后台程序会自动发现这些爬虫项目并储存到数据库中。是不是很方便?","在你的爬虫程序中,你需要将crawlab_task_id的值以task_id作为可以存入数据库中。这样crawlab就直到如何将爬虫任务与抓取数据关联起来了。当前,crawlab只支持mongodb。","基于celery的爬虫分布式爬虫管理平台,支持多种编程语言以及多种爬虫框架.","多语言支持","安装","安装前台类库","安装后台类库","快速开始","截图","所有爬虫需要在抓取前被部署当相应当节点中。在\"爬虫详情\"页面点击\"deploy\"按钮,爬虫将被部署到所有有效到节点中。","抓取结果","文件管理","更多爬虫例子","架构","查看演示","框架","概览","爬虫","爬虫列表","爬虫详情","登录和用户管理","简介","管理平台","类型","网络服务","自动发现","节点","节点其实就是celery中的worker。一个节点运行时会连接到一个任务队列(例如redis)来接收和运行任务。所有爬虫需要在运行时被部署到节点上,用户在部署前需要定义节点的ip地址和端口。","节点监控","表格过滤","要求","请更改配置文件config.py,配置api和数据库连接.","运行前端","运行爬虫","这是一个flask应用,提供了必要的api来支持常规操作,例如crud、爬虫部署以及任务运行。每一个节点需要启动flask应用来支持爬虫部署。运行python","部署爬虫","部署爬虫之后,你可以在\"爬虫详情\"页面点击\"run\"按钮来启动爬虫。一个爬虫任务将被触发,你可以在任务列表页面中看到这个任务。","配置","重跑任务","限制以及有一些爬虫管理框架了,因此为啥还要用crawlab?","首页"],"QuickStart/":["安装","快速开始","运行"],"QuickStart/Installation.html":["#","cd","clone","frontend","git","https://github.com/tikazyq/crawlab","instal","npm","pip","r","requirements.txt","安装","安装前台类库","安装后台类库","安装类库","最快安装crawlab的方式是克隆一份代码到本地"],"QuickStart/Run.html":["#","'/tmp'","'/users/yeqing/projects/crawlab/spiders'","'/var/crawlab'","'/var/logs/crawlab'","'127.0.0.1'","'192.168.99.100'","'asia/shanghai'","'crawlab_test'","'crawlab_test',","'database':","'http://localhost:5555/api'","'mongodb://192.168.99.100:27017/'","'redis://192.168.99.100:6379/0'","'taskmeta_collection':","'tasks_celery',","27017","8000","=","app","app,可以直接启动,或者用gunicorn代替。","broker_url","cd","celeri","celery_enable_utc","celery_mongodb_backend_set","celery_result_backend","celery_timezon","celery后台url","databas","debug","flask","flask_host","flask_port","flower","flower_api_endpoint","flower服务地址","frontend","manage.pi","mongo_db","mongo_host","mongo_port","npm","project","project_deploy_file_fold","project_logs_fold","project_source_file_fold","project_tmp_fold","python","run","serv","true","variabl","worker","{","}","中间者url,连接redi","临时文件目录","启动前端服务器。","启动后端api,也就是一个flask","启动本地worker。在其他节点中如果想只是想执行任务的话,只需要启动这一个服务就可以了。","在运行之前需要对crawlab进行一些配置,配置文件为config.py。","日志目录","爬虫源码根目录","爬虫部署根目录","运行"],"Concept/":["概念"],"Concept/Node.html":["节点","节点其实就是celery中的worker。一个节点运行时会连接到一个任务队列(例如redis)来接收和运行任务。所有爬虫需要在运行时被部署到节点上,用户在部署前需要定义节点的ip地址和端口。"],"Concept/Spider.html":["在config.py文件中,修改变量project_source_file_folder作为爬虫项目所在的目录。crawlab后台程序会自动发现这些爬虫项目并储存到数据库中。是不是很方便?","所有爬虫需要在抓取前被部署当相应当节点中。在\"爬虫详情\"页面点击\"deploy\"按钮,爬虫将被部署到所有有效到节点中。","爬虫","自动发现","运行爬虫","部署爬虫","部署爬虫之后,你可以在\"爬虫详情\"页面点击\"run\"按钮来启动爬虫。一个爬虫任务将被触发,你可以在任务列表页面中看到这个任务。"],"Concept/Task.html":["任务","任务被触发并被节点执行。用户可以在任务详情页面中看到任务到状态、日志和抓取结果。"],"Concept/Deploy.html":["所有爬虫在运行前需要被部署当相应当节点中。","部署","部署时,爬虫会被打包到相应的目录中,方便环境隔离,开发环境的爬虫和生产环境的爬虫需要打包部署来实现隔离。"],"Architecture/":["架构"],"Architecture/Celery.html":["celeri"],"Architecture/App.html":["app"],"Examples/":["exampl"]},"length":13},"tokenStore":{"root":{"2":{"7":{"0":{"1":{"7":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"8":{"0":{"0":{"0":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}},"docs":{}},"docs":{}},"docs":{}},"docs":{},"#":{"docs":{"./":{"ref":"./","tf":0.03571428571428571},"QuickStart/Installation.html":{"ref":"QuickStart/Installation.html","tf":0.1111111111111111},"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.12121212121212122}}},"'":{"1":{"2":{"7":{"docs":{},".":{"0":{"docs":{},".":{"0":{"docs":{},".":{"1":{"docs":{},"'":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}},"docs":{}}},"docs":{}}},"docs":{}}},"docs":{}},"9":{"2":{"docs":{},".":{"1":{"6":{"8":{"docs":{},".":{"9":{"9":{"docs":{},".":{"1":{"0":{"0":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"_":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}},",":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"'":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"'":{"docs":{},":":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"_":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"'":{"docs":{},",":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}}}}}}}}}}}}},"/":{"docs":{},"t":{"docs":{},"m":{"docs":{},"p":{"docs":{},"'":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"/":{"docs":{},"y":{"docs":{},"e":{"docs":{},"q":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"/":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"s":{"docs":{},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"/":{"docs":{},"s":{"docs":{},"p":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"'":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"'":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"s":{"docs":{},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"'":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"a":{"docs":{},"/":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"h":{"docs":{},"a":{"docs":{},"i":{"docs":{},"'":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"docs":{},"'":{"docs":{},":":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"5":{"5":{"5":{"5":{"docs":{},"/":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"'":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"d":{"docs":{},"b":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"1":{"9":{"2":{"docs":{},".":{"1":{"6":{"8":{"docs":{},".":{"9":{"9":{"docs":{},".":{"1":{"0":{"0":{"docs":{},":":{"2":{"7":{"0":{"1":{"7":{"docs":{},"/":{"docs":{},"'":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"1":{"9":{"2":{"docs":{},".":{"1":{"6":{"8":{"docs":{},".":{"9":{"9":{"docs":{},".":{"1":{"0":{"0":{"docs":{},":":{"6":{"3":{"7":{"9":{"docs":{},"/":{"0":{"docs":{},"'":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},"(":{"docs":{},"中":{"docs":{},"文":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}},".":{"docs":{},"/":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"/":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"_":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},".":{"docs":{},"p":{"docs":{},"y":{"docs":{},"来":{"docs":{},"启":{"docs":{},"动":{"docs":{},"应":{"docs":{},"用":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"p":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"p":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}},"=":{"docs":{"./":{"ref":"./","tf":0.04591836734693878},"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.16161616161616163}}},"[":{"docs":{"./":{"ref":"./","tf":0.04591836734693878}},"x":{"docs":{},"]":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}},"]":{"docs":{"./":{"ref":"./","tf":0.04591836734693878}}},"a":{"docs":{},"d":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"的":{"docs":{},"单":{"docs":{},"页":{"docs":{},"应":{"docs":{},"用":{"docs":{},"。":{"docs":{},"其":{"docs":{},"中":{"docs":{},"重":{"docs":{},"用":{"docs":{},"了":{"docs":{},"很":{"docs":{},"多":{"docs":{},"e":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"p":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102},"Architecture/App.html":{"ref":"Architecture/App.html","tf":11}},".":{"docs":{},"p":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}},"或":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"直":{"docs":{},"接":{"docs":{},"启":{"docs":{},"动":{"docs":{},",":{"docs":{},"或":{"docs":{},"者":{"docs":{},"用":{"docs":{},"g":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"n":{"docs":{},"代":{"docs":{},"替":{"docs":{},"。":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.01020408163265306},"QuickStart/Installation.html":{"ref":"QuickStart/Installation.html","tf":0.05555555555555555},"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{"QuickStart/Installation.html":{"ref":"QuickStart/Installation.html","tf":0.05555555555555555}}}}}},"o":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.01020408163265306}},"e":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{"./":{"ref":"./","tf":0.01020408163265306}},"使":{"docs":{},"用":{"docs":{},"起":{"docs":{},"来":{"docs":{},"很":{"docs":{},"方":{"docs":{},"便":{"docs":{},",":{"docs":{},"也":{"docs":{},"很":{"docs":{},"通":{"docs":{},"用":{"docs":{},",":{"docs":{},"可":{"docs":{},"以":{"docs":{},"适":{"docs":{},"用":{"docs":{},"于":{"docs":{},"几":{"docs":{},"乎":{"docs":{},"任":{"docs":{},"何":{"docs":{},"主":{"docs":{},"流":{"docs":{},"语":{"docs":{},"言":{"docs":{},"和":{"docs":{},"框":{"docs":{},"架":{"docs":{},"。":{"docs":{},"它":{"docs":{},"还":{"docs":{},"有":{"docs":{},"一":{"docs":{},"个":{"docs":{},"精":{"docs":{},"美":{"docs":{},"的":{"docs":{},"前":{"docs":{},"端":{"docs":{},"界":{"docs":{},"面":{"docs":{},",":{"docs":{},"让":{"docs":{},"用":{"docs":{},"户":{"docs":{},"可":{"docs":{},"以":{"docs":{},"方":{"docs":{},"便":{"docs":{},"的":{"docs":{},"管":{"docs":{},"理":{"docs":{},"和":{"docs":{},"运":{"docs":{},"行":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"的":{"docs":{},"架":{"docs":{},"构":{"docs":{},"跟":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"非":{"docs":{},"常":{"docs":{},"相":{"docs":{},"似":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"加":{"docs":{},"入":{"docs":{},"了":{"docs":{},"包":{"docs":{},"括":{"docs":{},"前":{"docs":{},"端":{"docs":{},"、":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"、":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"在":{"docs":{},"内":{"docs":{},"的":{"docs":{},"额":{"docs":{},"外":{"docs":{},"模":{"docs":{},"块":{"docs":{},",":{"docs":{},"以":{"docs":{},"支":{"docs":{},"持":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"管":{"docs":{},"理":{"docs":{},"的":{"docs":{},"功":{"docs":{},"能":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102},"Architecture/Celery.html":{"ref":"Architecture/Celery.html","tf":11}}},"y":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"u":{"docs":{},"t":{"docs":{},"c":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"d":{"docs":{},"b":{"docs":{},"_":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"_":{"docs":{},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"z":{"docs":{},"o":{"docs":{},"n":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}}}}}}},"后":{"docs":{},"台":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}}}}}}}}}},"d":{"docs":{},"b":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}},"[":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"]":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}},"e":{"docs":{},"f":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}},"m":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}}},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}},"x":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"Examples/":{"ref":"Examples/","tf":11}}}}}}}},"f":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.01020408163265306},"QuickStart/Installation.html":{"ref":"QuickStart/Installation.html","tf":0.05555555555555555},"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}}}}}}},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}},"_":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}}}}}}}}}}}},"服":{"docs":{},"务":{"docs":{},"地":{"docs":{},"址":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}},"i":{"docs":{},"t":{"docs":{"QuickStart/Installation.html":{"ref":"QuickStart/Installation.html","tf":0.05555555555555555}}}}},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.01020408163265306}}}}}}},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"./":{"ref":"./","tf":0.01020408163265306},"QuickStart/Installation.html":{"ref":"QuickStart/Installation.html","tf":0.1111111111111111}}}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}},",":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}},"[":{"docs":{},"'":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"_":{"docs":{},"i":{"docs":{},"d":{"docs":{},"'":{"docs":{},"]":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}}}}},"j":{"docs":{},"u":{"docs":{},"e":{"docs":{},"j":{"docs":{},"i":{"docs":{},"n":{"docs":{},"p":{"docs":{},"i":{"docs":{},"p":{"docs":{},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"(":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},")":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"p":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.020202020202020204}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}},"[":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"_":{"docs":{},"d":{"docs":{},"b":{"docs":{},"]":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}},"_":{"docs":{},"d":{"docs":{},"b":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}}},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}}}},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"=":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"_":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"b":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}},"y":{"docs":{},"s":{"docs":{},"q":{"docs":{},"l":{"docs":{},"数":{"docs":{},"据":{"docs":{},"库":{"docs":{},"支":{"docs":{},"持":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}},"n":{"docs":{"./":{"ref":"./","tf":0.01020408163265306}},"/":{"docs":{},"a":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}},"p":{"docs":{},"m":{"docs":{"./":{"ref":"./","tf":0.01020408163265306},"QuickStart/Installation.html":{"ref":"QuickStart/Installation.html","tf":0.05555555555555555},"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}},"o":{"docs":{},"s":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}},".":{"docs":{},"e":{"docs":{},"n":{"docs":{},"v":{"docs":{},"i":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"'":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"'":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"_":{"docs":{},"i":{"docs":{},"d":{"docs":{},"'":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"i":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"QuickStart/Installation.html":{"ref":"QuickStart/Installation.html","tf":0.05555555555555555}},"e":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"=":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"_":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},",":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}}}}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}},"_":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"o":{"docs":{},"y":{"docs":{},"_":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"s":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"_":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}}}}}}}}}}}}}}},"t":{"docs":{},"m":{"docs":{},"p":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}}}}}}}}}}}}}},"y":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"3":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}},"docs":{"./":{"ref":"./","tf":0.015306122448979591},"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.020202020202020204}}}}}}}},"r":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"QuickStart/Installation.html":{"ref":"QuickStart/Installation.html","tf":0.05555555555555555}},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}},"q":{"docs":{},"u":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"t":{"docs":{},"x":{"docs":{},"t":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"QuickStart/Installation.html":{"ref":"QuickStart/Installation.html","tf":0.05555555555555555}}}}}}}}}}}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}},"u":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.01020408163265306}}},"y":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}},"e":{"docs":{},"l":{"docs":{},"f":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},".":{"docs":{},"s":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},")":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"v":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}},"p":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},")":{"docs":{},":":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"d":{"docs":{},"o":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.020202020202020204}}}}}},"u":{"docs":{},"i":{"docs":{},"的":{"docs":{},"控":{"docs":{},"件":{"docs":{},"来":{"docs":{},"支":{"docs":{},"持":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"展":{"docs":{},"示":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}}}},"y":{"docs":{"./":{"ref":"./","tf":0.061224489795918366}}},"与":{"docs":{},"其":{"docs":{},"他":{"docs":{},"框":{"docs":{},"架":{"docs":{},"比":{"docs":{},"较":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}},"的":{"docs":{},"集":{"docs":{},"成":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}},"中":{"docs":{},"间":{"docs":{},"者":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}},"跟":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"中":{"docs":{},"定":{"docs":{},"义":{"docs":{},"的":{"docs":{},"一":{"docs":{},"样":{"docs":{},",":{"docs":{},"作":{"docs":{},"为":{"docs":{},"运":{"docs":{},"行":{"docs":{},"异":{"docs":{},"步":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"队":{"docs":{},"列":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},",":{"docs":{},"连":{"docs":{},"接":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}}}}}}}}}}}},"以":{"docs":{},"下":{"docs":{},"是":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"跟":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"y":{"docs":{},"集":{"docs":{},"成":{"docs":{},"的":{"docs":{},"例":{"docs":{},"子":{"docs":{},",":{"docs":{},"利":{"docs":{},"用":{"docs":{},"了":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"传":{"docs":{},"过":{"docs":{},"来":{"docs":{},"的":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"_":{"docs":{},"i":{"docs":{},"d":{"docs":{},"和":{"docs":{},"c":{"docs":{},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"任":{"docs":{},"务":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"Concept/Task.html":{"ref":"Concept/Task.html","tf":10.5}},"数":{"docs":{},"据":{"docs":{},"统":{"docs":{},"计":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}},"是":{"docs":{},"利":{"docs":{},"用":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"的":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"模":{"docs":{},"块":{"docs":{},"中":{"docs":{},"的":{"docs":{},"p":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"的":{"docs":{},"。":{"docs":{},"任":{"docs":{},"务":{"docs":{},"i":{"docs":{},"d":{"docs":{},"将":{"docs":{},"以":{"docs":{},"环":{"docs":{},"境":{"docs":{},"变":{"docs":{},"量":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"_":{"docs":{},"i":{"docs":{},"d":{"docs":{},"的":{"docs":{},"形":{"docs":{},"式":{"docs":{},"存":{"docs":{},"在":{"docs":{},"于":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"任":{"docs":{},"务":{"docs":{},"运":{"docs":{},"行":{"docs":{},"的":{"docs":{},"进":{"docs":{},"程":{"docs":{},"中":{"docs":{},",":{"docs":{},"并":{"docs":{},"以":{"docs":{},"此":{"docs":{},"来":{"docs":{},"关":{"docs":{},"联":{"docs":{},"抓":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"被":{"docs":{},"触":{"docs":{},"发":{"docs":{},"并":{"docs":{},"被":{"docs":{},"节":{"docs":{},"点":{"docs":{},"执":{"docs":{},"行":{"docs":{},"。":{"docs":{},"用":{"docs":{},"户":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"任":{"docs":{},"务":{"docs":{},"详":{"docs":{},"情":{"docs":{},"页":{"docs":{},"面":{"docs":{},"中":{"docs":{},"看":{"docs":{},"到":{"docs":{},"任":{"docs":{},"务":{"docs":{},"到":{"docs":{},"状":{"docs":{},"态":{"docs":{},"、":{"docs":{},"日":{"docs":{},"志":{"docs":{},"和":{"docs":{},"抓":{"docs":{},"取":{"docs":{},"结":{"docs":{},"果":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"Concept/Task.html":{"ref":"Concept/Task.html","tf":0.5}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"详":{"docs":{},"情":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}},"依":{"docs":{},"赖":{"docs":{},"于":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"y":{"docs":{},"d":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}},"全":{"docs":{},"局":{"docs":{},"搜":{"docs":{},"索":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}},"前":{"docs":{},"端":{"docs":{"./":{"ref":"./","tf":0.015306122448979591}},"其":{"docs":{},"实":{"docs":{},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"基":{"docs":{},"于":{"docs":{},"v":{"docs":{},"u":{"docs":{},"e":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}}},"后":{"docs":{},"台":{"docs":{},"应":{"docs":{},"用":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}},"端":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}},"启":{"docs":{},"动":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"服":{"docs":{},"务":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}},"后":{"docs":{},"端":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}},",":{"docs":{},"也":{"docs":{},"就":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}}}}}}}}}}}}}}},"前":{"docs":{},"端":{"docs":{},"服":{"docs":{},"务":{"docs":{},"器":{"docs":{},"。":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}}}}},"本":{"docs":{},"地":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{},"在":{"docs":{},"其":{"docs":{},"他":{"docs":{},"节":{"docs":{},"点":{"docs":{},"中":{"docs":{},"如":{"docs":{},"果":{"docs":{},"想":{"docs":{},"只":{"docs":{},"是":{"docs":{},"想":{"docs":{},"执":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},"的":{"docs":{},"话":{"docs":{},",":{"docs":{},"只":{"docs":{},"需":{"docs":{},"要":{"docs":{},"启":{"docs":{},"动":{"docs":{},"这":{"docs":{},"一":{"docs":{},"个":{"docs":{},"服":{"docs":{},"务":{"docs":{},"就":{"docs":{},"可":{"docs":{},"以":{"docs":{},"了":{"docs":{},"。":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"因":{"docs":{},"为":{"docs":{},"很":{"docs":{},"多":{"docs":{},"现":{"docs":{},"有":{"docs":{},"当":{"docs":{},"平":{"docs":{},"台":{"docs":{},"都":{"docs":{},"依":{"docs":{},"赖":{"docs":{},"于":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"y":{"docs":{},"d":{"docs":{},",":{"docs":{},"限":{"docs":{},"制":{"docs":{},"了":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"的":{"docs":{},"编":{"docs":{},"程":{"docs":{},"语":{"docs":{},"言":{"docs":{},"以":{"docs":{},"及":{"docs":{},"框":{"docs":{},"架":{"docs":{},",":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"工":{"docs":{},"程":{"docs":{},"师":{"docs":{},"只":{"docs":{},"能":{"docs":{},"用":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"y":{"docs":{},"和":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{},"。":{"docs":{},"当":{"docs":{},"然":{"docs":{},",":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{},"y":{"docs":{},"是":{"docs":{},"非":{"docs":{},"常":{"docs":{},"优":{"docs":{},"秀":{"docs":{},"的":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"框":{"docs":{},"架":{"docs":{},",":{"docs":{},"但":{"docs":{},"是":{"docs":{},"它":{"docs":{},"不":{"docs":{},"能":{"docs":{},"做":{"docs":{},"一":{"docs":{},"切":{"docs":{},"事":{"docs":{},"情":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},".":{"docs":{},"p":{"docs":{},"y":{"docs":{},"文":{"docs":{},"件":{"docs":{},"中":{"docs":{},",":{"docs":{},"修":{"docs":{},"改":{"docs":{},"变":{"docs":{},"量":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{},"e":{"docs":{},"_":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"作":{"docs":{},"为":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"项":{"docs":{},"目":{"docs":{},"所":{"docs":{},"在":{"docs":{},"的":{"docs":{},"目":{"docs":{},"录":{"docs":{},"。":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"后":{"docs":{},"台":{"docs":{},"程":{"docs":{},"序":{"docs":{},"会":{"docs":{},"自":{"docs":{},"动":{"docs":{},"发":{"docs":{},"现":{"docs":{},"这":{"docs":{},"些":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"项":{"docs":{},"目":{"docs":{},"并":{"docs":{},"储":{"docs":{},"存":{"docs":{},"到":{"docs":{},"数":{"docs":{},"据":{"docs":{},"库":{"docs":{},"中":{"docs":{},"。":{"docs":{},"是":{"docs":{},"不":{"docs":{},"是":{"docs":{},"很":{"docs":{},"方":{"docs":{},"便":{"docs":{},"?":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"Concept/Spider.html":{"ref":"Concept/Spider.html","tf":0.14285714285714285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"你":{"docs":{},"的":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"程":{"docs":{},"序":{"docs":{},"中":{"docs":{},",":{"docs":{},"你":{"docs":{},"需":{"docs":{},"要":{"docs":{},"将":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"_":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"_":{"docs":{},"i":{"docs":{},"d":{"docs":{},"的":{"docs":{},"值":{"docs":{},"以":{"docs":{},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"_":{"docs":{},"i":{"docs":{},"d":{"docs":{},"作":{"docs":{},"为":{"docs":{},"可":{"docs":{},"以":{"docs":{},"存":{"docs":{},"入":{"docs":{},"数":{"docs":{},"据":{"docs":{},"库":{"docs":{},"中":{"docs":{},"。":{"docs":{},"这":{"docs":{},"样":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"就":{"docs":{},"直":{"docs":{},"到":{"docs":{},"如":{"docs":{},"何":{"docs":{},"将":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"任":{"docs":{},"务":{"docs":{},"与":{"docs":{},"抓":{"docs":{},"取":{"docs":{},"数":{"docs":{},"据":{"docs":{},"关":{"docs":{},"联":{"docs":{},"起":{"docs":{},"来":{"docs":{},"了":{"docs":{},"。":{"docs":{},"当":{"docs":{},"前":{"docs":{},",":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"只":{"docs":{},"支":{"docs":{},"持":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{},"o":{"docs":{},"d":{"docs":{},"b":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{},"之":{"docs":{},"前":{"docs":{},"需":{"docs":{},"要":{"docs":{},"对":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"进":{"docs":{},"行":{"docs":{},"一":{"docs":{},"些":{"docs":{},"配":{"docs":{},"置":{"docs":{},",":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{},"为":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},".":{"docs":{},"p":{"docs":{},"y":{"docs":{},"。":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"基":{"docs":{},"于":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"的":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"分":{"docs":{},"布":{"docs":{},"式":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"管":{"docs":{},"理":{"docs":{},"平":{"docs":{},"台":{"docs":{},",":{"docs":{},"支":{"docs":{},"持":{"docs":{},"多":{"docs":{},"种":{"docs":{},"编":{"docs":{},"程":{"docs":{},"语":{"docs":{},"言":{"docs":{},"以":{"docs":{},"及":{"docs":{},"多":{"docs":{},"种":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"框":{"docs":{},"架":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"多":{"docs":{},"语":{"docs":{},"言":{"docs":{},"支":{"docs":{},"持":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}},"安":{"docs":{},"装":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"QuickStart/":{"ref":"QuickStart/","tf":0.3333333333333333},"QuickStart/Installation.html":{"ref":"QuickStart/Installation.html","tf":10.055555555555555}},"前":{"docs":{},"台":{"docs":{},"类":{"docs":{},"库":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"QuickStart/Installation.html":{"ref":"QuickStart/Installation.html","tf":0.05555555555555555}}}}}},"后":{"docs":{},"台":{"docs":{},"类":{"docs":{},"库":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"QuickStart/Installation.html":{"ref":"QuickStart/Installation.html","tf":0.05555555555555555}}}}}},"类":{"docs":{},"库":{"docs":{"QuickStart/Installation.html":{"ref":"QuickStart/Installation.html","tf":0.05555555555555555}}}}}},"快":{"docs":{},"速":{"docs":{},"开":{"docs":{},"始":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"QuickStart/":{"ref":"QuickStart/","tf":10.333333333333334}}}}}},"截":{"docs":{},"图":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}},"所":{"docs":{},"有":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"抓":{"docs":{},"取":{"docs":{},"前":{"docs":{},"被":{"docs":{},"部":{"docs":{},"署":{"docs":{},"当":{"docs":{},"相":{"docs":{},"应":{"docs":{},"当":{"docs":{},"节":{"docs":{},"点":{"docs":{},"中":{"docs":{},"。":{"docs":{},"在":{"docs":{},"\"":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"详":{"docs":{},"情":{"docs":{},"\"":{"docs":{},"页":{"docs":{},"面":{"docs":{},"点":{"docs":{},"击":{"docs":{},"\"":{"docs":{},"d":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"o":{"docs":{},"y":{"docs":{},"\"":{"docs":{},"按":{"docs":{},"钮":{"docs":{},",":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"将":{"docs":{},"被":{"docs":{},"部":{"docs":{},"署":{"docs":{},"到":{"docs":{},"所":{"docs":{},"有":{"docs":{},"有":{"docs":{},"效":{"docs":{},"到":{"docs":{},"节":{"docs":{},"点":{"docs":{},"中":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"Concept/Spider.html":{"ref":"Concept/Spider.html","tf":0.14285714285714285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"前":{"docs":{},"需":{"docs":{},"要":{"docs":{},"被":{"docs":{},"部":{"docs":{},"署":{"docs":{},"当":{"docs":{},"相":{"docs":{},"应":{"docs":{},"当":{"docs":{},"节":{"docs":{},"点":{"docs":{},"中":{"docs":{},"。":{"docs":{"Concept/Deploy.html":{"ref":"Concept/Deploy.html","tf":0.3333333333333333}}}}}}}}}}}}}}}}}}}}}}},"抓":{"docs":{},"取":{"docs":{},"结":{"docs":{},"果":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}},"文":{"docs":{},"件":{"docs":{},"管":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}},"更":{"docs":{},"多":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"例":{"docs":{},"子":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}},"架":{"docs":{},"构":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"Architecture/":{"ref":"Architecture/","tf":11}}}},"查":{"docs":{},"看":{"docs":{},"演":{"docs":{},"示":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}},"框":{"docs":{},"架":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}},"概":{"docs":{},"览":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}},"念":{"docs":{"Concept/":{"ref":"Concept/","tf":11}}}},"爬":{"docs":{},"虫":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"Concept/Spider.html":{"ref":"Concept/Spider.html","tf":10.142857142857142}},"列":{"docs":{},"表":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}},"详":{"docs":{},"情":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}},"源":{"docs":{},"码":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}}}},"部":{"docs":{},"署":{"docs":{},"根":{"docs":{},"目":{"docs":{},"录":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}}}}}},"登":{"docs":{},"录":{"docs":{},"和":{"docs":{},"用":{"docs":{},"户":{"docs":{},"管":{"docs":{},"理":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}},"简":{"docs":{},"介":{"docs":{"./":{"ref":"./","tf":10}}}},"管":{"docs":{},"理":{"docs":{},"平":{"docs":{},"台":{"docs":{"./":{"ref":"./","tf":0.02040816326530612}}}}}},"类":{"docs":{},"型":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}},"网":{"docs":{},"络":{"docs":{},"服":{"docs":{},"务":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}},"自":{"docs":{},"动":{"docs":{},"发":{"docs":{},"现":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"Concept/Spider.html":{"ref":"Concept/Spider.html","tf":0.14285714285714285}}}}}},"节":{"docs":{},"点":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"Concept/Node.html":{"ref":"Concept/Node.html","tf":10.5}},"其":{"docs":{},"实":{"docs":{},"就":{"docs":{},"是":{"docs":{},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"中":{"docs":{},"的":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"。":{"docs":{},"一":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"会":{"docs":{},"连":{"docs":{},"接":{"docs":{},"到":{"docs":{},"一":{"docs":{},"个":{"docs":{},"任":{"docs":{},"务":{"docs":{},"队":{"docs":{},"列":{"docs":{},"(":{"docs":{},"例":{"docs":{},"如":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},")":{"docs":{},"来":{"docs":{},"接":{"docs":{},"收":{"docs":{},"和":{"docs":{},"运":{"docs":{},"行":{"docs":{},"任":{"docs":{},"务":{"docs":{},"。":{"docs":{},"所":{"docs":{},"有":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"需":{"docs":{},"要":{"docs":{},"在":{"docs":{},"运":{"docs":{},"行":{"docs":{},"时":{"docs":{},"被":{"docs":{},"部":{"docs":{},"署":{"docs":{},"到":{"docs":{},"节":{"docs":{},"点":{"docs":{},"上":{"docs":{},",":{"docs":{},"用":{"docs":{},"户":{"docs":{},"在":{"docs":{},"部":{"docs":{},"署":{"docs":{},"前":{"docs":{},"需":{"docs":{},"要":{"docs":{},"定":{"docs":{},"义":{"docs":{},"节":{"docs":{},"点":{"docs":{},"的":{"docs":{},"i":{"docs":{},"p":{"docs":{},"地":{"docs":{},"址":{"docs":{},"和":{"docs":{},"端":{"docs":{},"口":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"Concept/Node.html":{"ref":"Concept/Node.html","tf":0.5}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"监":{"docs":{},"控":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}},"表":{"docs":{},"格":{"docs":{},"过":{"docs":{},"滤":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}},"要":{"docs":{},"求":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}},"请":{"docs":{},"更":{"docs":{},"改":{"docs":{},"配":{"docs":{},"置":{"docs":{},"文":{"docs":{},"件":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},".":{"docs":{},"p":{"docs":{},"y":{"docs":{},",":{"docs":{},"配":{"docs":{},"置":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"和":{"docs":{},"数":{"docs":{},"据":{"docs":{},"库":{"docs":{},"连":{"docs":{},"接":{"docs":{},".":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"运":{"docs":{},"行":{"docs":{"QuickStart/":{"ref":"QuickStart/","tf":0.3333333333333333},"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":10.01010101010101}},"前":{"docs":{},"端":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}},"爬":{"docs":{},"虫":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"Concept/Spider.html":{"ref":"Concept/Spider.html","tf":0.14285714285714285}}}}}},"这":{"docs":{},"是":{"docs":{},"一":{"docs":{},"个":{"docs":{},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"应":{"docs":{},"用":{"docs":{},",":{"docs":{},"提":{"docs":{},"供":{"docs":{},"了":{"docs":{},"必":{"docs":{},"要":{"docs":{},"的":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{},"来":{"docs":{},"支":{"docs":{},"持":{"docs":{},"常":{"docs":{},"规":{"docs":{},"操":{"docs":{},"作":{"docs":{},",":{"docs":{},"例":{"docs":{},"如":{"docs":{},"c":{"docs":{},"r":{"docs":{},"u":{"docs":{},"d":{"docs":{},"、":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"部":{"docs":{},"署":{"docs":{},"以":{"docs":{},"及":{"docs":{},"任":{"docs":{},"务":{"docs":{},"运":{"docs":{},"行":{"docs":{},"。":{"docs":{},"每":{"docs":{},"一":{"docs":{},"个":{"docs":{},"节":{"docs":{},"点":{"docs":{},"需":{"docs":{},"要":{"docs":{},"启":{"docs":{},"动":{"docs":{},"f":{"docs":{},"l":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{},"应":{"docs":{},"用":{"docs":{},"来":{"docs":{},"支":{"docs":{},"持":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"部":{"docs":{},"署":{"docs":{},"。":{"docs":{},"运":{"docs":{},"行":{"docs":{},"p":{"docs":{},"y":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"n":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"部":{"docs":{},"署":{"docs":{"Concept/Deploy.html":{"ref":"Concept/Deploy.html","tf":10.333333333333334}},"爬":{"docs":{},"虫":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"Concept/Spider.html":{"ref":"Concept/Spider.html","tf":0.14285714285714285}},"之":{"docs":{},"后":{"docs":{},",":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"\"":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"详":{"docs":{},"情":{"docs":{},"\"":{"docs":{},"页":{"docs":{},"面":{"docs":{},"点":{"docs":{},"击":{"docs":{},"\"":{"docs":{},"r":{"docs":{},"u":{"docs":{},"n":{"docs":{},"\"":{"docs":{},"按":{"docs":{},"钮":{"docs":{},"来":{"docs":{},"启":{"docs":{},"动":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"。":{"docs":{},"一":{"docs":{},"个":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"任":{"docs":{},"务":{"docs":{},"将":{"docs":{},"被":{"docs":{},"触":{"docs":{},"发":{"docs":{},",":{"docs":{},"你":{"docs":{},"可":{"docs":{},"以":{"docs":{},"在":{"docs":{},"任":{"docs":{},"务":{"docs":{},"列":{"docs":{},"表":{"docs":{},"页":{"docs":{},"面":{"docs":{},"中":{"docs":{},"看":{"docs":{},"到":{"docs":{},"这":{"docs":{},"个":{"docs":{},"任":{"docs":{},"务":{"docs":{},"。":{"docs":{"./":{"ref":"./","tf":0.00510204081632653},"Concept/Spider.html":{"ref":"Concept/Spider.html","tf":0.14285714285714285}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"时":{"docs":{},",":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"会":{"docs":{},"被":{"docs":{},"打":{"docs":{},"包":{"docs":{},"到":{"docs":{},"相":{"docs":{},"应":{"docs":{},"的":{"docs":{},"目":{"docs":{},"录":{"docs":{},"中":{"docs":{},",":{"docs":{},"方":{"docs":{},"便":{"docs":{},"环":{"docs":{},"境":{"docs":{},"隔":{"docs":{},"离":{"docs":{},",":{"docs":{},"开":{"docs":{},"发":{"docs":{},"环":{"docs":{},"境":{"docs":{},"的":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"和":{"docs":{},"生":{"docs":{},"产":{"docs":{},"环":{"docs":{},"境":{"docs":{},"的":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"需":{"docs":{},"要":{"docs":{},"打":{"docs":{},"包":{"docs":{},"部":{"docs":{},"署":{"docs":{},"来":{"docs":{},"实":{"docs":{},"现":{"docs":{},"隔":{"docs":{},"离":{"docs":{},"。":{"docs":{"Concept/Deploy.html":{"ref":"Concept/Deploy.html","tf":0.3333333333333333}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"配":{"docs":{},"置":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}},"重":{"docs":{},"跑":{"docs":{},"任":{"docs":{},"务":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}},"限":{"docs":{},"制":{"docs":{},"以":{"docs":{},"及":{"docs":{},"有":{"docs":{},"一":{"docs":{},"些":{"docs":{},"爬":{"docs":{},"虫":{"docs":{},"管":{"docs":{},"理":{"docs":{},"框":{"docs":{},"架":{"docs":{},"了":{"docs":{},",":{"docs":{},"因":{"docs":{},"此":{"docs":{},"为":{"docs":{},"啥":{"docs":{},"还":{"docs":{},"要":{"docs":{},"用":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"?":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"首":{"docs":{},"页":{"docs":{"./":{"ref":"./","tf":0.00510204081632653}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"t":{"docs":{},"i":{"docs":{},"k":{"docs":{},"a":{"docs":{},"z":{"docs":{},"y":{"docs":{},"q":{"docs":{},"/":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{"QuickStart/Installation.html":{"ref":"QuickStart/Installation.html","tf":0.05555555555555555}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"最":{"docs":{},"快":{"docs":{},"安":{"docs":{},"装":{"docs":{},"c":{"docs":{},"r":{"docs":{},"a":{"docs":{},"w":{"docs":{},"l":{"docs":{},"a":{"docs":{},"b":{"docs":{},"的":{"docs":{},"方":{"docs":{},"式":{"docs":{},"是":{"docs":{},"克":{"docs":{},"隆":{"docs":{},"一":{"docs":{},"份":{"docs":{},"代":{"docs":{},"码":{"docs":{},"到":{"docs":{},"本":{"docs":{},"地":{"docs":{"QuickStart/Installation.html":{"ref":"QuickStart/Installation.html","tf":0.05555555555555555}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"r":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.050505050505050504}}}}}}}}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{},"e":{"docs":{},"r":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}}}}},"{":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}},"}":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}},"临":{"docs":{},"时":{"docs":{},"文":{"docs":{},"件":{"docs":{},"目":{"docs":{},"录":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}}}}},"日":{"docs":{},"志":{"docs":{},"目":{"docs":{},"录":{"docs":{"QuickStart/Run.html":{"ref":"QuickStart/Run.html","tf":0.010101010101010102}}}}}}},"length":244},"corpusTokens":["#","'/tmp'","'/users/yeqing/projects/crawlab/spiders'","'/var/crawlab'","'/var/logs/crawlab'","'127.0.0.1'","'192.168.99.100'","'asia/shanghai'","'crawlab_test'","'crawlab_test',","'database':","'http://localhost:5555/api'","'mongodb://192.168.99.100:27017/'","'redis://192.168.99.100:6379/0'","'taskmeta_collection':","'tasks_celery',","'test'","(中文)","./bin/run_app.py来启动应用。","./bin/run_flower.pi","./bin/run_worker.pi","27017","8000","=","[","[x]","]","admin的单页应用。其中重用了很多el","app","app.pi","app或python","app,可以直接启动,或者用gunicorn代替。","broker_url","cd","celeri","celery_enable_utc","celery_mongodb_backend_set","celery_result_backend","celery_timezon","celery后台url","class","clone","col","col_nam","col_name:","crawlab","crawlab使用起来很方便,也很通用,可以适用于几乎任何主流语言和框架。它还有一个精美的前端界面,让用户可以方便的管理和运行爬虫。","crawlab的架构跟celery非常相似,但是加入了包括前端、爬虫、flower在内的额外模块,以支持爬虫管理的功能。","databas","db","db[col_name]","debug","def","demo","document","element","english","exampl","flask","flask_host","flask_port","flower","flower_api_endpoint","flower服务地址","frontend","gerapi","git","https://github.com/tikazyq/crawlab","import","instal","item","item,","item['task_id']","juejinpipeline(object):","manage.pi","mongo","mongo[mongo_db]","mongo_db","mongo_host","mongo_port","mongocli","mongoclient(host=mongo_host,","mongodb","mysql数据库支持","n","n/a","npm","os","os.environ.get('crawlab_collection')","os.environ.get('crawlab_task_id')","pip","pipelin","port=mongo_port)","process_item(self,","project","project_deploy_file_fold","project_logs_fold","project_source_file_fold","project_tmp_fold","pymongo","python","python3","r","redi","requirements.txt","return","run","scrapi","scrapyd","scrapydweb","self.col.save(item)","serv","spider):","spiderkeep","todo","true","ui的控件来支持相应的展示。","variabl","worker","y","{","}","与其他框架比较","与其他框架的集成","中间者","中间者url,连接redi","中间者跟celery中定义的一样,作为运行异步任务的队列。","临时文件目录","以下是crawlab跟scrapy集成的例子,利用了crawlab传过来的task_id和collection_name。","任务","任务数据统计","任务是利用python的subprocess模块中的popen来实现的。任务id将以环境变量crawlab_task_id的形式存在于爬虫任务运行的进程中,并以此来关联抓取数据。","任务被触发并被节点执行。用户可以在任务详情页面中看到任务到状态、日志和抓取结果。","任务详情","依赖于scrapyd","全局搜索","分布式","前端","前端其实就是一个基于vue","后台应用","后端","启动flower服务","启动worker","启动前端服务器。","启动后端api","启动后端api,也就是一个flask","启动本地worker。在其他节点中如果想只是想执行任务的话,只需要启动这一个服务就可以了。","因为很多现有当平台都依赖于scrapyd,限制了爬虫的编程语言以及框架,爬虫工程师只能用scrapy和python。当然,scrapy是非常优秀的爬虫框架,但是它不能做一切事情。","在config.py文件中,修改变量project_source_file_folder作为爬虫项目所在的目录。crawlab后台程序会自动发现这些爬虫项目并储存到数据库中。是不是很方便?","在你的爬虫程序中,你需要将crawlab_task_id的值以task_id作为可以存入数据库中。这样crawlab就直到如何将爬虫任务与抓取数据关联起来了。当前,crawlab只支持mongodb。","在运行之前需要对crawlab进行一些配置,配置文件为config.py。","基于celery的爬虫分布式爬虫管理平台,支持多种编程语言以及多种爬虫框架.","多语言支持","安装","安装前台类库","安装后台类库","安装类库","快速开始","截图","所有爬虫在运行前需要被部署当相应当节点中。","所有爬虫需要在抓取前被部署当相应当节点中。在\"爬虫详情\"页面点击\"deploy\"按钮,爬虫将被部署到所有有效到节点中。","抓取结果","文件管理","日志目录","更多爬虫例子","最快安装crawlab的方式是克隆一份代码到本地","架构","查看演示","框架","概念","概览","爬虫","爬虫列表","爬虫源码根目录","爬虫详情","爬虫部署根目录","登录和用户管理","简介","管理平台","类型","网络服务","自动发现","节点","节点其实就是celery中的worker。一个节点运行时会连接到一个任务队列(例如redis)来接收和运行任务。所有爬虫需要在运行时被部署到节点上,用户在部署前需要定义节点的ip地址和端口。","节点监控","表格过滤","要求","请更改配置文件config.py,配置api和数据库连接.","运行","运行前端","运行爬虫","这是一个flask应用,提供了必要的api来支持常规操作,例如crud、爬虫部署以及任务运行。每一个节点需要启动flask应用来支持爬虫部署。运行python","部署","部署时,爬虫会被打包到相应的目录中,方便环境隔离,开发环境的爬虫和生产环境的爬虫需要打包部署来实现隔离。","部署爬虫","部署爬虫之后,你可以在\"爬虫详情\"页面点击\"run\"按钮来启动爬虫。一个爬虫任务将被触发,你可以在任务列表页面中看到这个任务。","配置","重跑任务","限制以及有一些爬虫管理框架了,因此为啥还要用crawlab?","首页"],"pipeline":["stopWordFilter","stemmer"]},"store":{"./":{"url":"./","title":"简介","keywords":"","body":"Crawlab\n基于Celery的爬虫分布式爬虫管理平台,支持多种编程语言以及多种爬虫框架.\n查看演示 Demo\nEnglish Documentation\n要求\n\nPython3\nMongoDB\nRedis\n\n安装\n# 安装后台类库\npip install -r requirements.txt\n\n# 安装前台类库\ncd frontend\nnpm install\n\n配置\n请更改配置文件config.py,配置API和数据库连接.\n快速开始\n# 启动后端API\npython app.py\n\n# 启动Flower服务\npython ./bin/run_flower.py\n\n# 启动worker\npython ./bin/run_worker.py\n\n# 运行前端\ncd frontend\nnpm run serve\n\n截图\n首页\n\n爬虫列表\n\n爬虫详情 - 概览\n\n任务详情 - 抓取结果\n\n架构\nCrawlab的架构跟Celery非常相似,但是加入了包括前端、爬虫、Flower在内的额外模块,以支持爬虫管理的功能。\n\n节点\n节点其实就是Celery中的Worker。一个节点运行时会连接到一个任务队列(例如Redis)来接收和运行任务。所有爬虫需要在运行时被部署到节点上,用户在部署前需要定义节点的IP地址和端口。\n爬虫\n自动发现\n在config.py文件中,修改变量PROJECT_SOURCE_FILE_FOLDER作为爬虫项目所在的目录。Crawlab后台程序会自动发现这些爬虫项目并储存到数据库中。是不是很方便?\n部署爬虫\n所有爬虫需要在抓取前被部署当相应当节点中。在\"爬虫详情\"页面点击\"Deploy\"按钮,爬虫将被部署到所有有效到节点中。\n运行爬虫\n部署爬虫之后,你可以在\"爬虫详情\"页面点击\"Run\"按钮来启动爬虫。一个爬虫任务将被触发,你可以在任务列表页面中看到这个任务。\n任务\n任务被触发并被节点执行。用户可以在任务详情页面中看到任务到状态、日志和抓取结果。\n后台应用\n这是一个Flask应用,提供了必要的API来支持常规操作,例如CRUD、爬虫部署以及任务运行。每一个节点需要启动Flask应用来支持爬虫部署。运行python manage.py app或python ./bin/run_app.py来启动应用。\n中间者\n中间者跟Celery中定义的一样,作为运行异步任务的队列。\n前端\n前端其实就是一个基于Vue-Element-Admin的单页应用。其中重用了很多Element-UI的控件来支持相应的展示。\n与其他框架的集成\n任务是利用python的subprocess模块中的Popen来实现的。任务ID将以环境变量CRAWLAB_TASK_ID的形式存在于爬虫任务运行的进程中,并以此来关联抓取数据。\n在你的爬虫程序中,你需要将CRAWLAB_TASK_ID的值以task_id作为可以存入数据库中。这样Crawlab就直到如何将爬虫任务与抓取数据关联起来了。当前,Crawlab只支持MongoDB。\nScrapy\n以下是Crawlab跟Scrapy集成的例子,利用了Crawlab传过来的task_id和collection_name。\nimport os\nfrom pymongo import MongoClient\n\nMONGO_HOST = '192.168.99.100'\nMONGO_PORT = 27017\nMONGO_DB = 'crawlab_test'\n\n# scrapy example in the pipeline\nclass JuejinPipeline(object):\n mongo = MongoClient(host=MONGO_HOST, port=MONGO_PORT)\n db = mongo[MONGO_DB]\n col_name = os.environ.get('CRAWLAB_COLLECTION')\n if not col_name:\n col_name = 'test'\n col = db[col_name]\n\n def process_item(self, item, spider):\n item['task_id'] = os.environ.get('CRAWLAB_TASK_ID')\n self.col.save(item)\n return item\n\n与其他框架比较\n限制以及有一些爬虫管理框架了,因此为啥还要用Crawlab?\n因为很多现有当平台都依赖于Scrapyd,限制了爬虫的编程语言以及框架,爬虫工程师只能用scrapy和python。当然,scrapy是非常优秀的爬虫框架,但是它不能做一切事情。\nCrawlab使用起来很方便,也很通用,可以适用于几乎任何主流语言和框架。它还有一个精美的前端界面,让用户可以方便的管理和运行爬虫。\n\n\n\n框架\n类型\n分布式\n前端\n依赖于Scrapyd\n\n\n\n\nCrawlab\n管理平台\nY\nY\nN\n\n\nGerapy\n管理平台\nY\nY\nY\n\n\nSpiderKeeper\n管理平台\nY\nY\nY\n\n\nScrapydWeb\n管理平台\nY\nY\nY\n\n\nScrapyd\n网络服务\nY\nN\nN/A\n\n\n\nTODOs\n后端\n\n[ ] 文件管理\n[ ] MySQL数据库支持\n[ ] 重跑任务\n[ ] 节点监控\n[ ] 更多爬虫例子\n\n前端\n\n[ ] 任务数据统计\n[ ] 表格过滤\n[x] 多语言支持 (中文)\n[ ] 登录和用户管理\n[ ] 全局搜索\n\n"},"QuickStart/":{"url":"QuickStart/","title":"快速开始","keywords":"","body":"快速开始\n\n安装\n运行\n\n"},"QuickStart/Installation.html":{"url":"QuickStart/Installation.html","title":"安装","keywords":"","body":"安装\n最快安装Crawlab的方式是克隆一份代码到本地\ngit clone https://github.com/tikazyq/crawlab\n\n安装类库\n# 安装后台类库\npip install -r requirements.txt\n\n# 安装前台类库\ncd frontend\nnpm install\n\n"},"QuickStart/Run.html":{"url":"QuickStart/Run.html","title":"运行","keywords":"","body":"运行\n在运行之前需要对Crawlab进行一些配置,配置文件为config.py。\n# project variables\nPROJECT_SOURCE_FILE_FOLDER = '/Users/yeqing/projects/crawlab/spiders' # 爬虫源码根目录\nPROJECT_DEPLOY_FILE_FOLDER = '/var/crawlab' # 爬虫部署根目录\nPROJECT_LOGS_FOLDER = '/var/logs/crawlab' # 日志目录\nPROJECT_TMP_FOLDER = '/tmp' # 临时文件目录\n\n# celery variables\nBROKER_URL = 'redis://192.168.99.100:6379/0' # 中间者URL,连接redis\nCELERY_RESULT_BACKEND = 'mongodb://192.168.99.100:27017/' # CELERY后台URL\nCELERY_MONGODB_BACKEND_SETTINGS = {\n 'database': 'crawlab_test',\n 'taskmeta_collection': 'tasks_celery',\n}\nCELERY_TIMEZONE = 'Asia/Shanghai'\nCELERY_ENABLE_UTC = True\n\n# flower variables\nFLOWER_API_ENDPOINT = 'http://localhost:5555/api' # Flower服务地址\n\n# database variables\nMONGO_HOST = '192.168.99.100'\nMONGO_PORT = 27017\nMONGO_DB = 'crawlab_test'\n\n# flask variables\nDEBUG = True\nFLASK_HOST = '127.0.0.1'\nFLASK_PORT = 8000\n\n启动后端API,也就是一个Flask App,可以直接启动,或者用gunicorn代替。\npython manage.py app\n\n启动本地Worker。在其他节点中如果想只是想执行任务的话,只需要启动这一个服务就可以了。\npython manage.py worker\n\n启动前端服务器。\ncd frontend\nnpm run serve\n\n"},"Concept/":{"url":"Concept/","title":"概念","keywords":"","body":"概念\n"},"Concept/Node.html":{"url":"Concept/Node.html","title":"节点","keywords":"","body":"节点\n节点其实就是Celery中的Worker。一个节点运行时会连接到一个任务队列(例如Redis)来接收和运行任务。所有爬虫需要在运行时被部署到节点上,用户在部署前需要定义节点的IP地址和端口。\n"},"Concept/Spider.html":{"url":"Concept/Spider.html","title":"爬虫","keywords":"","body":"爬虫\n自动发现\n在config.py文件中,修改变量PROJECT_SOURCE_FILE_FOLDER作为爬虫项目所在的目录。Crawlab后台程序会自动发现这些爬虫项目并储存到数据库中。是不是很方便?\n部署爬虫\n所有爬虫需要在抓取前被部署当相应当节点中。在\"爬虫详情\"页面点击\"Deploy\"按钮,爬虫将被部署到所有有效到节点中。\n运行爬虫\n部署爬虫之后,你可以在\"爬虫详情\"页面点击\"Run\"按钮来启动爬虫。一个爬虫任务将被触发,你可以在任务列表页面中看到这个任务。\n"},"Concept/Task.html":{"url":"Concept/Task.html","title":"任务","keywords":"","body":"任务\n任务被触发并被节点执行。用户可以在任务详情页面中看到任务到状态、日志和抓取结果。\n"},"Concept/Deploy.html":{"url":"Concept/Deploy.html","title":"部署","keywords":"","body":"部署\n所有爬虫在运行前需要被部署当相应当节点中。\n部署时,爬虫会被打包到相应的目录中,方便环境隔离,开发环境的爬虫和生产环境的爬虫需要打包部署来实现隔离。\n"},"Architecture/":{"url":"Architecture/","title":"架构","keywords":"","body":"架构\n"},"Architecture/Celery.html":{"url":"Architecture/Celery.html","title":"Celery","keywords":"","body":"Celery\n"},"Architecture/App.html":{"url":"Architecture/App.html","title":"App","keywords":"","body":"App\n"},"Examples/":{"url":"Examples/","title":"Examples","keywords":"","body":"Examples\n"}}}
\ No newline at end of file
diff --git a/gitbook/QuickStart/Run.md b/gitbook/QuickStart/Run.md
index 623261fe..bd6b9ba9 100644
--- a/gitbook/QuickStart/Run.md
+++ b/gitbook/QuickStart/Run.md
@@ -36,24 +36,18 @@ FLASK_PORT = 8000
启动后端API,也就是一个Flask App,可以直接启动,或者用gunicorn代替。
```bash
-python app.py
-```
-
-启动Flower服务(抱歉目前集成Flower到App服务中,必须单独启动来获取节点信息,后面的版本不需要这个操作)。
-
-```bash
-python ./bin/run_flower.py
+python manage.py app
```
启动本地Worker。在其他节点中如果想只是想执行任务的话,只需要启动这一个服务就可以了。
```bash
-python ./bin/run_worker.py
+python manage.py worker
```
启动前端服务器。
```bash
-cd ../frontend
+cd frontend
npm run serve
```