22
33## Spider参数:
44
5- 可直接阅读Spider源码查看
6-
7- @param redis_key: 爬虫request及item存放redis中的文件夹
8- @param min_task_count: redis 中最少任务数, 少于这个数量会从mysql的任务表取任务。默认1秒
9- @param check_task_interval: 检查是否还有任务的时间间隔;默认5秒
10- @param thread_count: 线程数,默认为配置文件中的线程数
11- @param begin_callback: 爬虫开始回调函数
12- @param end_callback: 爬虫结束回调函数
13- @param delete_tabs: 爬虫启动时删除的表(redis里的key),元组类型。 支持正则; 常用于清空任务队列,否则重启时会断点续爬
14- @param auto_stop_when_spider_done: 爬虫抓取完毕后是否自动结束或等待任务,默认自动结束
15- @param auto_start_requests: 爬虫是否自动添加任务
16- @param send_run_time: 发送运行时间
17- @param batch_interval: 抓取时间间隔 默认为0 天为单位 多次启动时,只有当前时间与第一次抓取结束的时间间隔大于指定的时间间隔时,爬虫才启动
18- @param wait_lock: 下发任务时否等待锁,若不等待锁,可能会存在多进程同时在下发一样的任务,因此分布式环境下请将该值设置True
19-
20- ### redis_key
5+ ``` python
6+ @param redis_key : 任务等数据存放在redis中的key前缀
7+ @param min_task_count : 任务队列中最少任务数, 少于这个数量才会添加任务,默认1。start_monitor_task 模式下生效
8+ @param check_task_interval : 检查是否还有任务的时间间隔;默认5秒
9+ @param thread_count : 线程数,默认为配置文件中的线程数
10+ @param begin_callback : 爬虫开始回调函数
11+ @param end_callback : 爬虫结束回调函数
12+ @param delete_tabs : 爬虫启动时删除的表(redis里的key),元组类型。 支持正则; 常用于清空任务队列,否则重启时会断点续爬
13+ @param auto_stop_when_spider_done : 爬虫抓取完毕后是否自动结束或等待任务,默认自动结束
14+ @param auto_start_requests : 爬虫是否自动添加任务
15+ @param send_run_time : 发送运行时间
16+ @param batch_interval : 抓取时间间隔 默认为0 天为单位 多次启动时,只有当前时间与第一次抓取结束的时间间隔大于指定的时间间隔时,爬虫才启动
17+ @param wait_lock : 下发任务时否等待锁,若不等待锁,可能会存在多进程同时在下发一样的任务,因此分布式环境下请将该值设置True
18+ ```
19+
20+ 下面介绍下理解起来可能有疑惑的参数
21+
22+ ### 1. redis_key
2123
2224redis_key为redis中存储任务等信息的key前缀,如redis_key="feapder: spider_test ", 则redis中会生成如下
2325
@@ -34,4 +36,13 @@ key的命名方式为[配置文件](source_code/配置文件.md)中定义的
3436 # item 表模版
3537 TAB_ITEM = "{redis_key}:s_{item_name}"
3638 # 爬虫时间记录表
37- TAB_SPIDER_TIME = "{redis_key}:h_spider_time"
39+ TAB_SPIDER_TIME = "{redis_key}:h_spider_time"
40+
41+ ### 2. min_task_count
42+
43+ 这个参数用于控制最小任务数的,少于这个数量再下发任务,防止redis中堆积任务太多,内存撑爆
44+
45+
46+ ----
47+
48+ 未完待续
0 commit comments