本文主要介绍了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'

广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!