Skip to main content

crawler

成员函数函数描述/介绍
crawler.RequestsFromFlow从一个请求中提取可能可以用于扫描的额外请求
crawler.Start
crawler.autoLogin自动登录功能,支持 DVWA 的标准登陆功能
crawler.basicAuth设置爬虫的基础认证
crawler.bodySize想要设置每一个 body 最大获取多少页面大小,bytes 的大小,默认为 1024 1024 10
crawler.concurrent设置爬虫并发请求数
crawler.connectTimeout每一次进行 HTTP 连接的超时时间
crawler.cookie设置 Cookie
crawler.domainExclude不扫描的域名,使用 glob 语法
crawler.domainInclude想要扫描的域名,域名白名单,支持 glob 语法
crawler.forbiddenFromParent禁止扫描 url 的父路径
crawler.header设置爬虫的自定义 Header
crawler.maxDepth设置爬虫的最大深度,默认为5
crawler.maxRedirect设置最大重定向次数,默认为5
crawler.maxRequest设置爬虫最大发出的请求数量,默认为 1000
crawler.maxRetry最大重试次数(如果失败了就会重试)
crawler.maxUrls最多获取到多少个 URL 就停止爬虫
crawler.proxy为爬虫设置代理,如果代理失效,爬虫则请求失败
crawler.responseTimeout响应超时时间
crawler.timeout等效于 crawler.connectTimeout
crawler.ua设置 useragent
crawler.urlRegexpExclude禁止爬取的 url 正则,用于排除一些 login delete 等状况
crawler.urlRegexpInclude想要爬 url 的白名单,用于定向爬虫
crawler.userAgent设置 useragent

函数定义#

crawler.RequestsFromFlow#

从一个请求中提取可能可以用于扫描的额外请求

详细描述#

定义:#

func crawler.RequestsFromFlow(https: bool, req: bytes, rsp: bytes) return (reqs: []bytes, r1: error)

参数#

参数名参数类型参数解释
httpsbool
reqbytes
rspbytes

返回值#

返回值(顺序)返回值类型返回值解释
reqs[]bytes
r1error

crawler.Start#

详细描述#

定义:#

func crawler.Start(v1: string, v2 ...crawler.configOpt) return (r0: chan *crawler.Req, r1: error)

参数#

参数名参数类型参数解释
v1string
v2...crawler.configOpt

返回值#

返回值(顺序)返回值类型返回值解释
r0chan *crawler.Req
r1error

crawler.autoLogin#

自动登录功能,支持 DVWA 的标准登陆功能

详细描述#

定义:#

func crawler.autoLogin(username: string, password: string, v3 ...string) return (r0: func configOpt(v1: *crawler.Config) )

参数#

参数名参数类型参数解释
usernamestring
passwordstring
v3...string

返回值#

返回值(顺序)返回值类型返回值解释
r0func configOpt(v1: *crawler.Config)

crawler.basicAuth#

设置爬虫的基础认证

详细描述#

使用案例非常简单,直接 crawler.basicAuth(user, pass) 返回的结果直接可以作为 Start 函数的可变参数

res, err := crawler.Start(`https://example.com`, crawler.basicAuth(`username`, `secret-password`))die(err)

定义:#

func crawler.basicAuth(username: string, password: string) return (r0: crawler.param)

参数#

参数名参数类型参数解释
usernamestring基础认证用户名
passwordstring基础认证密码

返回值#

返回值(顺序)返回值类型返回值解释
r0crawler.param作为 crawler.Start 后不定参数的选项

crawler.bodySize#

想要设置每一个 body 最大获取多少页面大小,bytes 的大小,默认为 1024 1024 10

详细描述#

使用案例,类似 crawler.basicAuth,可以设置获取 body 的字节量,一般用于防止 body 太大撑爆内存。

res, err := crawler.Start(`http://example.com`, crawler.bodySize(1024 * 1024 * 10))

定义:#

func crawler.bodySize(size: int) return (r0: crawler.param)

参数#

参数名参数类型参数解释
sizeint设置 body 最大值

返回值#

返回值(顺序)返回值类型返回值解释
r0crawler.param

crawler.concurrent#

设置爬虫并发请求数

详细描述#

定义:#

func crawler.concurrent(maxConcurrent: int) return (r0: crawler.param)

参数#

参数名参数类型参数解释
maxConcurrentint并发量,可以理解为同时最多多少个 http 请求被发出去

返回值#

返回值(顺序)返回值类型返回值解释
r0crawler.param

crawler.connectTimeout#

每一次进行 HTTP 连接的超时时间

详细描述#

定义:#

func crawler.connectTimeout(seconds: float64) return (r0: crawler.param)

参数#

参数名参数类型参数解释
secondsfloat64超时时间,以秒为单位

返回值#

返回值(顺序)返回值类型返回值解释
r0crawler.param

crawler.cookie#

设置 Cookie

详细描述#

定义:#

func crawler.cookie(key: string, value: string) return (r0: crawler.param)

参数#

参数名参数类型参数解释
keystringCookie 值的 key
valuestringCookie 值的 value

返回值#

返回值(顺序)返回值类型返回值解释
r0crawler.param

crawler.domainExclude#

不扫描的域名,使用 glob 语法

详细描述#

支持 glob 语法,比如

  1. *.example.com 可以匹配 test1.example.com
  2. *example.com 可以匹配 1testexample.com,也可以匹配 test1.example.com

定义:#

func crawler.domainExclude(excludedDomain: string) return (r0: crawler.param)

参数#

参数名参数类型参数解释
excludedDomainstring想要排除的域名

返回值#

返回值(顺序)返回值类型返回值解释
r0crawler.param

crawler.domainInclude#

想要扫描的域名,域名白名单,支持 glob 语法

详细描述#

定义:#

func crawler.domainInclude(includedDomain: string) return (r0: crawler.param)

参数#

参数名参数类型参数解释
includedDomainstring想要扫描的域名

返回值#

返回值(顺序)返回值类型返回值解释
r0crawler.param

crawler.forbiddenFromParent#

禁止扫描 url 的父路径

详细描述#

禁止扫描父路径

定义:#

func crawler.forbiddenFromParent(allow: bool) return (r0: crawler.param)

参数#

参数名参数类型参数解释
allowbooltrue or false 是否扫描父路径

返回值#

返回值(顺序)返回值类型返回值解释
r0crawler.param

crawler.header#

设置爬虫的自定义 Header

详细描述#

定义:#

func crawler.header(key: string, value: string) return (r0: crawler.param)

参数#

参数名参数类型参数解释
keystring设置 Header 的 Key
valuestring设置 Header 的值

返回值#

返回值(顺序)返回值类型返回值解释
r0crawler.param

crawler.maxDepth#

设置爬虫的最大深度,默认为5

详细描述#

定义:#

func crawler.maxDepth(depth: int) return (r0: crawler.param)

参数#

参数名参数类型参数解释
depthint设置最大深度(int)

返回值#

返回值(顺序)返回值类型返回值解释
r0crawler.param

crawler.maxRedirect#

设置最大重定向次数,默认为5

详细描述#

定义:#

func crawler.maxRedirect(limit: int) return (r0: crawler.param)

参数#

参数名参数类型参数解释
limitint

返回值#

返回值(顺序)返回值类型返回值解释
r0crawler.param

crawler.maxRequest#

设置爬虫最大发出的请求数量,默认为 1000

详细描述#

定义:#

func crawler.maxRequest(limit: int) return (r0: crawler.param)

参数#

参数名参数类型参数解释
limitint设置爬虫最多发出的请求数

返回值#

返回值(顺序)返回值类型返回值解释
r0crawler.param

crawler.maxRetry#

最大重试次数(如果失败了就会重试)

详细描述#

定义:#

func crawler.maxRetry(limit: int) return (r0: crawler.param)

参数#

参数名参数类型参数解释
limitint最大重试次数

返回值#

返回值(顺序)返回值类型返回值解释
r0crawler.param

crawler.maxUrls#

最多获取到多少个 URL 就停止爬虫

详细描述#

定义:#

func crawler.maxUrls(limit: int) return (r0: crawler.param)

参数#

参数名参数类型参数解释
limitint最大获取 URL 的树木

返回值#

返回值(顺序)返回值类型返回值解释
r0crawler.param

crawler.proxy#

为爬虫设置代理,如果代理失效,爬虫则请求失败

详细描述#

定义:#

func crawler.proxy(proxyUrl ...string) return (r0: crawler.param)

参数#

参数名参数类型参数解释
proxyUrl...string爬虫代理,例如 http://196.168.1.1:8080

返回值#

返回值(顺序)返回值类型返回值解释
r0crawler.param

crawler.responseTimeout#

响应超时时间

详细描述#

定义:#

func crawler.responseTimeout(seconds: float64) return (r0: crawler.param)

参数#

参数名参数类型参数解释
secondsfloat64超时时间,float 为秒

返回值#

返回值(顺序)返回值类型返回值解释
r0crawler.param

crawler.timeout#

等效于 crawler.connectTimeout

详细描述#

定义:#

func crawler.timeout(timeout: float64) return (r0: crawler.param)

参数#

参数名参数类型参数解释
timeoutfloat64超时时间,float 为秒

返回值#

返回值(顺序)返回值类型返回值解释
r0crawler.param

crawler.ua#

设置 useragent

详细描述#

定义:#

func crawler.ua(userAgent: string) return (r0: crawler.param)

参数#

参数名参数类型参数解释
userAgentstring想要设置的 ua

返回值#

返回值(顺序)返回值类型返回值解释
r0crawler.param

crawler.urlRegexpExclude#

禁止爬取的 url 正则,用于排除一些 login delete 等状况

详细描述#

定义:#

func crawler.urlRegexpExclude(urlRegexp: string) return (r0: crawler.param)

参数#

参数名参数类型参数解释
urlRegexpstring正则字符串

返回值#

返回值(顺序)返回值类型返回值解释
r0crawler.param

crawler.urlRegexpInclude#

想要爬 url 的白名单,用于定向爬虫

详细描述#

定义:#

func crawler.urlRegexpInclude(urlRegexp: string) return (r0: crawler.param)

参数#

参数名参数类型参数解释
urlRegexpstring正则字符串

返回值#

返回值(顺序)返回值类型返回值解释
r0crawler.param

crawler.userAgent#

设置 useragent

详细描述#

定义:#

func crawler.userAgent(userAgent: string) return (r0: crawler.param)

参数#

参数名参数类型参数解释
userAgentstring想要设置的 ua

返回值#

返回值(顺序)返回值类型返回值解释
r0crawler.param