自定义设置

爬虫可以通过自定义设置,暴露出一些可视化设置的接口,达到不修改代码也能配置爬虫的目的,方便把爬虫交付给普通用户来操作。此章介绍如何给爬虫添加自定义设置。

一个示例

先来看一个例子:

var keyword = "papi酱";//@input(keyword, 关键字, 请输入要爬取的关键字)

上面这段代码首先定义了js变量keyword,值为”papi酱”。后面有一段固定格式的注释,平台会解析这段注释,生成一个自定义项,键为keyword,类型为String,标题为关键字,进一步的提示为请输入要爬取的关键字。爬虫的设置里面会自动出现一个这样的输入项,默认值为”papi酱”,可以自由修改,修改保存后,再运行爬虫时,keyword的值会被先替换为最终设置的值。

定义规范

var 变量名 = 变量的值;//@输入方式(变量名, 标题, 提示)

通过这样的语法来进行自定义项的定义,一个自定义项会生成一个对应的自定义设置。

  • 变量名
    自定义项的名字,前后两个一定要一致。
  • 变量的值
    变量的默认值,同时变量的类型会影响此自定义项的值类型。
  • 输入方式
    输入方式主要包括inputpasswordtagsselect等,主要影响自定义设置的界面。
  • 标题
    自定义项的标题,用来在可视化设置时显示。不要使用英文逗号。
  • 提示
    设置此自定义项时的提示语。不要使用英文逗号。

下面介绍各个输入方式。

input

使用input时,自定义项的类型由变量默认值的类型决定,包括String类型、布尔类型、数字类型、数组类型、JS对象。

String类型

在代码中设置自定义输入参数的例子:

var key = "苹果手机, 神箭手云爬虫";//@input(key, input参数是string类型, 示例)

在爬虫设置中修改自定义输入值:

布尔类型

在代码中设置自定义输入参数的例子:

var inputBooleanTrue = true;//@input(inputBooleanTrue, input参数是boolean类型,值是true, 示例)
var inputBooleanFalse = false;//@input(inputBooleanFalse, input参数是boolean类型,值是false, 示例)

在爬虫设置中修改自定义输入值:

数字类型

在代码中设置自定义输入参数的例子:

var inputInt = 1;//@input(inputInt, input参数是整型, 示例)

在爬虫设置中修改自定义输入值:

数组类型

在代码中设置自定义输入参数的例子:

var inputArray = ["http://www.shenjianshou.cn", "http://www.baidu.com"];//@input(inputArray, input参数是数组类型, 示例)

在爬虫设置中修改自定义输入值:

JS对象

在代码中设置自定义输入参数的例子:

var inputObject = {"key":"value"};//@input(inputObject, input参数是对象类型, 示例)

在爬虫设置中修改自定义输入值:

password

1). 在采集爬虫中支持的输入方式, 用于通过输入框修改自定义输入的值

2). 该输入方式可以对自定义输入的值进行遮蔽处理

在代码中设置自定义输入参数的例子:

var pwd = "123456";//@password(pwd, password密码参数, 示例)

在爬虫设置中修改自定义输入值:

tags

在采集爬虫中支持的输入方式, 用于通过输入框修改自定义输入的值, 可输入多条数据, 每输入一条数据需”按回车键”或”空格键”作为输入结束标记

在代码中设置自定义输入参数的例子:

var tags = ["当时我就震惊了", "papi酱", "新闻哥"];//@tags(tags, tags数组, 示例)

在爬虫设置中修改自定义输入值:

select

在采集爬虫中支持的输入方式, 用于通过选择选择框中的选项修改自定义输入的值, 默认选择第一个选项作为自定义输入的值

在代码中设置自定义输入参数的例子:

var selectData = "1";//@select(selectData, select参数选择, 示例)
var uiconfigs = {
inputs: [
{
name: "selectData",
onLoad: function() {
// "addOption"的第一个参数是选择项的值
// "addOption"的第二个参数是选择项的别名
ui("selectData").addOption('1', '苹果')
.addOption('2', '桔子').addOption('3', '香蕉');
}
}
]
};
// 这段代码不能少
ui.render(uiconfigs);

在爬虫设置中修改自定义输入值: