记录一下scrapy中settings的一些配置小结
(编辑:jimmy 日期: 2024/11/17 浏览:3 次 )
本文主要介绍了scrapy settings配置,分享给大家,具体如下:
# 字符编码 FEED_EXPORT_ENCODING = 'utf-8'
# redis写法一 # REDIS_URL = 'redis://localhost:6379' # redis写法二 REDIS_HOST = '192.168.10.223' REDIS_PORT = 6379 # 默认的 scrapy redis 会读取下面的密码和db REDIS_PARAMS = { 'password': '123456', 'db': redis_db }
# 对于失败的HTTP请求(如超时)进行重试会降低爬取效率,当爬取目标基数很大时,舍弃部分数据不影响大局,提高效率 # RETRY_ENABLED = False # 请求下载超时时间,默认180秒 DOWNLOAD_TIMEOUT = 10
# 1:设置去重组件,使用的是scrapy_redis的去重组件,而不是scrapy自己的去重组件了 DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter" # 2:设置调度器,使用scrapy——redis重写的调度器, # 而不再使用scrapy内部的调度器了 SCHEDULER = "scrapy_redis.scheduler.Scheduler" # 3:可以实现断点爬取=jondir,(请求的记录不会丢失,会存储在redis数据库中, # 不会清除redis的队列,下次直接从redis的队列中爬取) SCHEDULER_PERSIST = True # 4:设置任务队列的模式(三选一): # SpiderPriorityQueue数据scrapy-redis默认使用的队列模式( # 有自己的优先级)默认第一种 SCHEDULER_QUEUE_CLASS = "scrapy_redis.queue.SpiderPriorityQueue" # 使用了队列的形式,任务先进先出。 # SCHEDULER_QUEUE_CLASS = "scrapy_redis.queue.SpiderQueue" # 采用了栈的形式:任务先进后出 # SCHEDULER_QUEUE_CLASS = "scrapy_redis.queue.SpiderStack" ''' 用来控制当接收到的 response 头信息中的 Content-Length 和内容不匹配或者response chunk 未正确结束时的时所采取的操作。 当 DOWNLOAD_FAIL_ON_DATALOSS 为 True 的时候抛出 ResponseFailed([_DataLoss]) 错误 当设置为 False 时, 校验未通过的 response 将被忽略并且添加一个名为 dataloss 的 flag 到 response.flag ''' DOWNLOAD_FAIL_ON_DATALOSS = False MONGO_URI = 'mongodb://用户名:密码@ip:port'
下一篇:scrapy与selenium结合爬取数据(爬取动态网站)的示例代码