記錄一下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'

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章