Settings¶
爬虫相关配置项可以通过如下几种方式设定:
- 命令行 - 直接在命令行中设定的配置项。
- 命令行配置文件 - 在命令行中通过参数
-c, --config
指定的配置文件中的配置项。 - 工程配置文件 - 在工程的配置文件
config.py
中设定的配置项。 - 默认配置 - 默认的配置项。
配置的优先级为: 命令行 > 命令行配置文件 > 工程配置文件 > 默认配置 ,对于同一配置项,高优先级的配置会覆盖低优先级的配置。
在 make_requests
、 run_spider
等函数中传递的关键字参数的优先级视为和命令行参数一致。
接下来我们会按类别依次给出爬虫相关的各个配置项。
Running¶
Downloading¶
chrome_renderer_options¶
- Type:
dict
Chrome渲染器的配置,以 'NAME': {'arguments': [], 'experimental_options': {}}
的方式进行配置,其中 NAME
表示渲染器类别的名称。
user_agent¶
- Default:
:desktop
指定HTTP请求头的User-Agent字段。
以 :
开头表示命令模式,命令分为终端类型和浏览器类型, 终端类型包括 desktop
、mobile
,浏览器类型包括 chrome
。
多个命令之间用逗号 ,
隔开,如 :mobile,chrome
表示移动端的Chrome浏览器。
其他字符串则直接视为User-Agent。
Note
只有当 default_headers 中没有设置 User-Agent
时, user_agent 配置才会生效。
random_user_agent¶
- Default:
False
随机设定HTTP请求头的User-Agent字段。
当 user_agent 为命令模式时,随机生成符合其约束的User-Agent;当 user_agent 为普通字符串时,则会覆盖其设置。
Retry¶
retry_http_status¶
- Default:
None
- Type:
list
,tuple
进行重试的HTTP状态码。
可以用 x
表示通配,例如 20x
表示 200
、 202
等所有 20
开头的状态码, 4xx
表示所有 4
开头的状态码。
前面加 !
表示取反,例如 !2xx
表示所有不是以 2
开头的状态码。