Skip to content

3 爬虫的配置说明

Lewis Zou edited this page Feb 18, 2021 · 2 revisions

爬虫的配置

使用 dotnet 提供的 IOption 做配置,因此有很两种配置方式,一是通过配置文件,二是代码配置。所有的配置项都在 SpiderOptions 中:

RequestedQueueCount

并发控制器会以一定速度从 Scheduler 中取得请求,并推送到对应的消息队列 topic 中。因此爬虫对象无法感知下载代理器的状态,若是下载代理器不足,则会导致请求一直堆积,所以框架会限定一个请求队列数,若达到这个数则不再推送了。

Depth

采集的深度,初始添加的请求默认深度为 1,从页面内容中解析出来的新的请求(链接)则深度加 1。默认值为 0,表示不做深度限制,一般定题爬虫不需要做此限定。

RetriedTimes

每个请求总的下载尝试次数限制,超过此限制则忽略。

EmptySleepTime

Scheduler 中持续多少时间(秒)都获取不到新的请求则表示爬虫结束。

Speed

并发控制器的速度,表示每秒尝试采集多少个请求,数值越大则表示采集速度越快。

ProxyTestUri

当爬虫使用了代理池时,每个进入池的代理需要做测试,此参数是用来做访问测试的链接。

ProxySupplierUri

当爬虫使用了代理池时,需要有一个代理供应的接口。一般代理供应商都会提供 API 返回可用代理。

UseProxy

配置爬虫是否使用代理

RemoveOutboundLinks

配置爬虫解析页面时,是否去除外链

StorageType

存储器的类型,规则是:FullTypeName, AssemblyName

StorageMode

Insert: 直接插入,若遇到重复索引可能会有异常导致爬虫中止。所有数据库都支持 InsertIgnoreDuplicate:若数据没有违反重复约束则插入,若有重复则忽略,不是所有数据库都支持此种模式 InsertAndUpdate: 若数据不存在则插入,重复则更新 Update: 只做更新

ConnectionString

系统使用的连接字符串,默认暂时只使用 MySql,像下载代理器、爬虫管理所使用的数据库。

Database

系统使用的数据库,默认暂时只使用 MySql,像下载代理器、爬虫管理所使用的数据库。

MySqlFileType

若是使用 MySqlFileEntityStorage 时,需要设定文件类型,支持 LoadFile 和 InsertSQL 两种模式。

SqlServerVersion

在使用 SqlServerEntityStorage 时,某些情况需要知道数据库版本信息。

HBaseRestServer

使用 HBaseStorage 时使用的 HBase Restful 地址。