自定义爬虫
自定义爬虫是指用户可以添加的任何语言任何框架的爬虫,高度自定义化。当用户添加好自定义爬虫之后,Crawlab 就可以将其集成到爬虫管理的系统中来。
我们有两种方式来上传爬虫项目:
- 通过 Web 界面(灵活)
- 通过 CLI 命令行工具(简单,推荐)
下面我们详细介绍一下。
通过 Web 界面
通过 Web 界面上传爬虫项目的详细步骤如下。
1. 打包为 Zip 文件
在通过Web界面上传之前,需要将爬虫项目文件打包成zip
格式。
⚠️注意:您需要在爬虫项目根目录下打包,意思是您需要进入到项目的第一层,将所有文件和文件夹打包成 zip 文件。
2. 输入爬虫数据
首先,您需要导航到爬虫列表页。
然后,点击“添加爬虫”,选择“自定义爬虫”(默认是自定义爬虫),将出现以下界面。
输入相应的参数:“爬虫名称”、“显示名称”、“执行命令”和“结果”。
它们的定义如下:
- 爬虫名称:爬虫的唯一识别名称,将会在爬虫根目录中创建一个该名称的文件目录,因此建议为没有空格和特殊符号的小写英文,可以带下划线;
- 显示名称:爬虫显示在前端的名称,可以为任何字符串;
- 执行命令:爬虫将在
shell
中执行的命令,最终被执行的命令将为执行命令
和参数
的组合; - 结果:”结果集“的意思,爬虫抓取结果储存在 MongoDB 数据库里的集合(Collection),类似于 SQL 数据库中的表(Table)。
3. 创建爬虫
接下来,您有两个选择来创建爬虫:
- 创建空项目:创建一个空爬虫,也就是直接点击”添加“按钮,这将不会上传任何爬虫文件,您可以在创建好之后再上传 Zip 文件(后面会介绍),或者在线创建编辑文件(请参考 在线编辑文件 章节)。
- 直接上传 Zip 文件:点击”上传“按钮,选择刚才打包好的 zip 文件。如果爬虫名称已经存在,将覆盖之前的项目文件;如果爬虫名称不存在,则视作新爬虫,并会创建并上传所有爬虫文件。上传好爬虫文件之后,您同样可以通过 文件管理 功能来创建、编辑、删除、重命名爬虫文件。
这样爬虫就创建/更新好了。
通过 CLI 命令行工具
对于比较习惯在命令行中操作的开发者,也许 CLI 工具是一个比较好的选择。而且,这种方式不要求用户将项目打包成 Zip 文件,对于上传爬虫来说要方便很多。
CLI 命令行工具 是一个实验功能,可以让开发者能够轻松上传文件,详情请参考 CLI 命令行工具 章节。
下面,我们将介绍如何通过 CLI 命令行工具上传自定义爬虫。
⚠️注意:使用之前,请保证您已经安装了 CLI 命令行工具,并且已经能够顺利获取 token
,如果没有安装或没有获取 token
,请参考 CLI 命令行工具 章节。
执行命令上传爬虫
执行以下命令会将爬虫目录中的文件自动打包成 Zip 文件并上传到 Crawlab 服务器上,这样就省去了手动打包的步骤。
# 定位到爬虫项目目录
cd /path/to/spider
# 上传该爬虫目录
crawlab upload
查看帮助信息
下面这个命令可以查看上传操作的帮助文档,这里有一些高级配置项。
crawlab upload --help
关于多爬虫项目
您可能会有疑问,如果一个爬虫项目中有多个爬虫该怎么办。请参考 Q&A 中的 “我在一个 Scrapy 爬虫下有多个爬虫,我需要在 Crawlab 创建多个爬虫项目么?” 问题。如果是非 Scrapy 爬虫也类似,需要做的是编写一个入口文件,例如 main.py
,然后通过传参的方式在入口文件中调用不同的爬虫。