File tree Expand file tree Collapse file tree
templates/project_template Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -35,7 +35,7 @@ COLLECTOR_TASK_COUNT = 100 # 每次获取任务数量
3535
3636# SPIDER
3737SPIDER_THREAD_COUNT = 10 # 爬虫并发数
38- SPIDER_SLEEP_TIME = 0 # 下载时间间隔(解析完一个response后休眠时间)
38+ SPIDER_SLEEP_TIME = 0 # 下载时间间隔 单位秒。 支持随机 如 SPIDER_SLEEP_TIME = [2, 5] 则间隔为 2~5秒之间的随机数,包含2和5
3939SPIDER_MAX_RETRY_TIMES = 100 # 每个请求最大重试次数
4040
4141# 浏览器渲染下载
Original file line number Diff line number Diff line change 77@author: Boris
88@email: boris@bzkj.tech
99"""
10+ import random
1011import threading
1112import time
1213from collections import Iterable
@@ -396,7 +397,16 @@ def deal_requests(self, requests):
396397 self ._request_buffer .put_del_request (request_redis )
397398
398399 if setting .SPIDER_SLEEP_TIME :
399- time .sleep (setting .SPIDER_SLEEP_TIME )
400+ if (
401+ isinstance (setting .SPIDER_SLEEP_TIME , (tuple , list ))
402+ and len (setting .SPIDER_SLEEP_TIME ) == 2
403+ ):
404+ sleep_time = random .randint (
405+ int (setting .SPIDER_SLEEP_TIME [0 ]), int (setting .SPIDER_SLEEP_TIME [1 ])
406+ )
407+ time .sleep (sleep_time )
408+ else :
409+ time .sleep (setting .SPIDER_SLEEP_TIME )
400410
401411 def record_download_status (self , status , spider ):
402412 """
@@ -672,4 +682,13 @@ def deal_requests(self, requests):
672682 break
673683
674684 if setting .SPIDER_SLEEP_TIME :
675- time .sleep (setting .SPIDER_SLEEP_TIME )
685+ if (
686+ isinstance (setting .SPIDER_SLEEP_TIME , (tuple , list ))
687+ and len (setting .SPIDER_SLEEP_TIME ) == 2
688+ ):
689+ sleep_time = random .randint (
690+ int (setting .SPIDER_SLEEP_TIME [0 ]), int (setting .SPIDER_SLEEP_TIME [1 ])
691+ )
692+ time .sleep (sleep_time )
693+ else :
694+ time .sleep (setting .SPIDER_SLEEP_TIME )
Original file line number Diff line number Diff line change 5050
5151# SPIDER
5252SPIDER_THREAD_COUNT = 1 # 爬虫并发数
53- SPIDER_SLEEP_TIME = 0 # 下载时间间隔(解析完一个response后休眠时间)
53+ SPIDER_SLEEP_TIME = 0 # 下载时间间隔 单位秒。 支持随机 如 SPIDER_SLEEP_TIME = [2, 5] 则间隔为 2~5秒之间的随机数,包含2和5
5454SPIDER_TASK_COUNT = 1 # 每个parser从内存队列中获取任务的数量
5555SPIDER_MAX_RETRY_TIMES = 100 # 每个请求最大重试次数
5656SPIDER_AUTO_START_REQUESTS = (
Original file line number Diff line number Diff line change 1+ # 数据审核
2+ ## 表说明:
3+
4+ > 表名 含义(更新策略)
5+
6+ ## 一、准确性
7+
8+ ** 字段设计是否满足需求? 表之间的关联字段是否满足要求? (需要人工检查)**
9+
10+ > 注意:是否设计了自增 id,id 的类型是否设置为 bigint?
11+ > 注意:unique index 是否需要设计?
12+ > 注意:各张表之间是否需要设计关联字段;
13+
14+ * [ ] 是
15+ * [ ] 否
16+
17+ ** 各字段采集内容及存储格式是否满足要求?是否与网页一致?是否有信息缺失?**
18+
19+ > 备注:可尝试对每个字段进行升降序排列,然后抽样检查;
20+
21+ ** 是否考虑了网站同一类数据可能出现的数据格式不一致情况?**
22+
23+ > 建议:代码对各个字段不做兼容性处理、数据不一致则抛出异常并记录
24+
25+ * [ ] 是
26+ * [ ] 否
27+
28+ ## 二、全量性
29+
30+ ** 如果是增量采集,是否最早信息和最晚信息都采集了,同时条目总数是否正确;**
31+ ** 如果是批次采集,是否每个批次都有?**
32+
33+ > 备注:需要去网页端评估单个批次的总量;
34+ > 参考sql语句:SELECT count(1), batch_date from [ table_name] GROUP BY batch_date;
35+
36+ ** 如果与另外一张表有关联关系,是否信息关联完整?**
37+
38+ ## 三、稳定性
39+
40+ * [ ] 是否能够长期稳定采集?
41+ * [ ] 是否加IP代理?
42+ * [ ] 是否支持断点续跑?
43+ * [ ] 是否能确保按时启动,定期采集?
44+ * [ ] 是否已开启报警?
45+
46+ ## 四、采集频次、类型、存储方式
47+
48+ * [ ] 采集频次是否满足要求?
49+ * [ ] 采集类型是否满足要求:增量采集 or 批次采集?
Original file line number Diff line number Diff line change 1+ # xxx爬虫文档
2+ ## 调研
3+
4+ ## 数据库设计
5+
6+ ## 爬虫逻辑
7+
8+ ## 项目架构
Original file line number Diff line number Diff line change 3939#
4040# # SPIDER
4141# SPIDER_THREAD_COUNT = 1 # 爬虫并发数
42- # SPIDER_SLEEP_TIME = 0 # 下载时间间隔(解析完一个response后休眠时间)
42+ # SPIDER_SLEEP_TIME = 0 # 下载时间间隔 单位秒。 支持随机 如 SPIDER_SLEEP_TIME = [2, 5] 则间隔为 2~5秒之间的随机数,包含2和5
4343# SPIDER_TASK_COUNT = 1 # 每个parser从内存队列中获取任务的数量
4444# SPIDER_MAX_RETRY_TIMES = 100 # 每个请求最大重试次数
4545# AUTO_STOP_WHEN_SPIDER_DONE = True # 爬虫是否自动结束
You can’t perform that action at this time.
0 commit comments