脚本专栏 
首页 > 脚本专栏 > 浏览文章

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

(编辑:jimmy 日期: 2024/5/9 浏览: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'

上一篇:小结Python的反射机制
下一篇:scrapy与selenium结合爬取数据(爬取动态网站)的示例代码
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网