记录一下scrapy中settings的一些配置小结

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

记录一下scrapy中settings的一些配置小结

Davide~苏   2020-09-28 我要评论

本文着重讲解了记录一下scrapy中settings的一些配置小结,文中通过代码实例讲解的非常细致,对大家的工作和学习具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们