Scrapy_Redis Settings.py设置文件

项目名称

BOT_NAME = 'downloadmiddlerware'

爬虫存储的文件路径

SPIDER_MODULES = ['downloadmiddlerware.spiders']

创建爬虫文件的模版,创建号的爬虫文件会存放在这个目录下

NEWSPIDER_MODULE = 'downloadmiddlerware.spiders'

设置ua,来模拟浏览器请求

#USER_AGENT = 'downloadmiddlerware (+http://www.yourdomain.com)'

设置是否需要准守robot协议:默认为True

ROBOTSTXT_OBEY = False

设置请求的最大并发数据(下载器) 默认是16

#CONCURRENT_REQUESTS = 32

设置请求的下载延时,默认为0

#DOWNLOAD_DELAY = 3

设置网站的最大并发请求数量,默认是8

#CONCURRENT_REQUESTS_PER_DOMAIN = 16

设置某个ip的最大并发请求数量,默认是0

如果非0

1.CONCURRENT_REQUESTS_PER_DOMAIN不生效,
这时候请求的并发数量将针对于ip,而不是网站了

2.设置的DOWNLOAD_DELAY就是正对于ip而不是网站了
CONCURRENT_REQUESTS_PER_IP = 16

是否携带cookies:默认为True

COOKIES_ENABLED = False

COOKIES_DEBUG:跟踪cookies,默认情况下为False

COOKIES_DEBUG =True

关于日志信息的设置

LOG_FILE = 'xxx.log'
LOG_LEVEL = 'INFO/DEBUG/....'

是一个终端的扩展插件

#TELNETCONSOLE_ENABLED = False

设置默认的请求头(cookies信息不要放在这里)

DEFAULT_REQUEST_HEADERS = {
  # 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
  # 'Accept-Language': 'en',
    'User-Agent':'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Mobile Safari/537.36',

}

设置和激活爬虫中间件

#SPIDER_MIDDLEWARES = {
#    'downloadmiddlerware.middlewares.DownloadmiddlerwareSpiderMiddleware': 543,
#}

设置和激活下载中间件(后面的数字表示优先级)

DOWNLOADER_MIDDLEWARES = {
   # 'downloadmiddlerware.middlewares.DownloadmiddlerwareDownloaderMiddleware': 543,
   #  'downloadmiddlerware.middlewares.UserAgentDownloadMiddlerware':543,
    'downloadmiddlerware.middlewares.SeleniumDownloadMiddlerWare':543,
}

设置扩展

#EXTENSIONS = {
#    'scrapy.extensions.telnet.TelnetConsole': None,
#}

设置和激活管道文件(后面的数字表示优先级)

#ITEM_PIPELINES = {
#    'downloadmiddlerware.pipelines.DownloadmiddlerwarePipeline': 300,
#}

自动限速的扩展(实现上一个请求和下一个请求之间的时间是不固定的)

默认请情框下自动限速的扩展是关闭的:AUTOTHROTTLE_ENABLED:False

# AUTOTHROTTLE_ENABLED = True

初始的下载吧延时默认是5秒

# AUTOTHROTTLE_START_DELAY = 5

最大下载延时

# AUTOTHROTTLE_MAX_DELAY = 60

针对于网站的最大的并行请求数量

# AUTOTHROTTLE_TARGET_CONCURRENCY = 1.0

调试模式:默认为False,未开启

# AUTOTHROTTLE_DEBUG = False

设置数据的缓存,默认情况下是未开启的

HTTPCACHE_ENABLED = True

设置缓存的超时时间,默认为0表示永久有效

HTTPCACHE_EXPIRATION_SECS = 0

设置缓存的存储文件路径

HTTPCACHE_DIR = 'httpcache'

忽略某些状态码的请求结果(Response)

HTTPCACHE_IGNORE_HTTP_CODES = []

开始缓存的扩展插件

HTTPCACHE_STORAGE = 'scrapy.extensions.httpcache.FilesystemCacheStorage'

USERAGENT = [
    'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0) Gecko/20100101 Firefox/6.0',
    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko)     Chrome/14.0.835.163 Safari/535.1',
    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1     Safari/534.50',
]

代理

PROXIES = [
{'ip':'127.0.0.1:6379','pwd':'zyx:123456'},
{'ip':'127.0.0.1:6379','pwd':None},
{'ip':'127.0.0.1:6379','pwd':None},
{'ip':'127.0.0.1:6379','pwd':None},
{'ip':'127.0.0.1:6379','pwd':None},
]

cookies池

COOKIES = [
{'cookie1':'xxxxxx'},
{'cookie1':'xxxxxx'},
{'cookie1':'xxxxxx'},
{'cookie1':'xxxxxx'},
]

设置去重组件,使用的是scrapy_redis的去重组件,而不再使用scrapy框架自己的去重组件了

DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"

设置调度器,使用的是scrapy_redis重写的调度器,而不再使用scrapy框架自带的调度器了

SCHEDULER = "scrapy_redis.scheduler.Scheduler"

可以实现断点爬取(请求的记录不会丢失,会存储在redis数据库中,不会清除redis的任务队列)

SCHEDULER_PERSIST = True

设置任务队列的模式

SpiderPriorityQueue是scrapy_redis默认使用的队列模式(有自己的优先级)

SCHEDULER_QUEUE_CLASS = "scrapy_redis.queue.SpiderPriorityQueue"

使用了队列的形式,任务先进先出

#SCHEDULER_QUEUE_CLASS = "scrapy_redis.queue.SpiderQueue"

采用了栈的形式,任务先进后出

#SCHEDULER_QUEUE_CLASS = "scrapy_redis.queue.SpiderStack"

ITEM_PIPELINES = {
    'example.pipelines.ExamplePipeline': 300,
    # 实现这个管道,可以将爬虫端获取的item数据,统一保存在redis数据库中
    'scrapy_redis.pipelines.RedisPipeline': 400,
}

指定要存储的redis数据库的主机ip

REDIS_HOST = '127.0.0.1'

指定redis数据库主机的端口

REDIS_PORT = 6379

仅为个人学习小结,若有错处,欢迎指正~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342