Crawler参数手册
如果你想修改一些默认值,可以在构造 Crawler() 的时候配置相关的参数,此时的参数将在全局范围内生效。如果你只想对单个请求配置独立的参数,你可以在调用 queue() 函数时覆盖参数。
Crawler 使用了 request 库,所以 Crawler 可供配置的参数列表是 request 库的参数列表的超集,即 request 库中所有的配置在 Crawler 中均适用。
以下为所有参数:
基本请求参数
回调函数
callback(error, res, done): 请求完成后将被调用的回调函数error: Error 错误信息res: http.IncomingMessage 服务器响应的数据资源合集res.statusCode: Number HTTP状态码,正常返回200res.body: Buffer | String HTTP响应实体部分res.headers: Object HTTP响应头部res.request: RequestRequest的一个实例(并非 http.ClientRequest)res.options: Options 此次请求的参数$: jQuery Selector HTML或XML文档的jQuery选择器
done: Function 在处理结束之后必须调用此函数
调度参数
maxConnections: Number 工作线程池的大小 (默认为 10).rateLimit: Number 两次请求之间的默认间隔时间 (默认为 0).priorityRange: Number 有效的优先值范围,从0开始 (默认为 10).priority: Number 请求的默认优先值 (默认为 5). 此值越低优先度越高。
重试参数
追踪重定向
followRedirect: Boolean 遵循HTTP 3xx响应作为重定向(默认:true)。此属性也可以实现为函数,该函数将响应对象作为单个参数获取,如果需要继续重定向,则返回true,否则返回false。 (默认为 true),followAllRedirects: Boolean 遵循non-get HTTP 3xx响应作为重定向 (默认为 false).- maxRedirects: Number 要追踪的最大重定向数(默认值:10)
DOM选项
jQuery: Boolean|String|Object 设置为true或者”cheerio”时,将使用cheerio作为解析器,并使用默认配置. 当然你也可以使用自定义配置的cheerio或使用符合 Parser options 的其它解析器。如果此值为false,将禁用注入jQuery选择器。 注意,如果你发现项目存在内存泄漏问题,请使用 “whacko” 作为解析器来避免这个问题你, “whacko” 是一个可以用来代替的解析器。 (默认为 true)
编码设置
forceUTF8: Boolean 此值为 true 时,crawler 将会从HTTP头部或者meta标签提取字符编码,并将其强制转换为 UTF8格式。 再也不用为不同编码的问题操心了! (默认为 true),incomingEncoding: String 一般和forceUTF8一起使用,设定此值将可以手动指定待转换的字符编码(默认为 null)。可以像这么使用:incomingEncoding : 'windows-1255'。这里是支持的所有编码
缓存设置
skipDuplicates: Boolean 此值为 true 时,将跳过已经爬取的URI,且不会调用callback() (默认为 false)。 这不是推荐做法,更好的做法是在Crawler之外使用 seenreq 处理。
其他
rotateUA: Boolean 此值为true时,userAgent应该是一个UA的Array,此时Crawler将在不同的请求中轮换UA。(默认为 false)userAgent: String|[Array] 如果rotateUA为 false, 且userAgent为 array, crawler 将使用array中的第一个UA。referer: String 设定此值将可以修改HTTP referer headerqueue(uri, options): 将任务加入队列,并等待其被执行queueSize: Number 当前队列长度,只读。
Crawler模块 https://github.com/bda-research/node-crawler
下面的参数都可使用,可参考 https://github.com/request/request
|
0 |
var requestArgs = ['uri','url','qs','method','headers','body','form','formData','json','multipart','followRedirect','followAllRedirects', 'maxRedirects','encoding','pool','timeout','proxy','auth','oauth','strictSSL','jar','aws','gzip','time','tunnel','proxyHeaderWhiteList','proxyHeaderExclusiveList','localAddress','forever', 'agent']; |