记录一下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'

到此这篇关于记录一下scrapy中settings的一些配置小结的文章就介绍到这了,更多相关scrapy settings配置内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Scrapy框架基本命令与settings.py设置

    本文实例讲述了Scrapy框架基本命令与settings.py设置.分享给大家供大家参考,具体如下: Scrapy框架基本命令 1.创建爬虫项目 scrapy startproject [项目名称] 2.创建爬虫文件 scrapy genspider +文件名+网址 3.运行(crawl) scrapy crawl 爬虫名称 # -o output 输出数据到文件 scrapy crawl [爬虫名称] -o zufang.json scrapy crawl [爬虫名称] -o zufang.c

  • 记录一下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': '12345

  • django中的setting最佳配置小结

    Django settings详解 1.基础 DJANGO_SETTING_MODULE环境变量:让settings模块被包含到python可以找到的目录下,开发情况下不需要,我们通常会在当前文件夹运行,python可以搜索到.如果需要运行在其他服务器上,就必须指定DJANGO_SETTINGS_MODULE变量. 2.默认设定 一个django的settings文件不需要我们手动去设置所有项目,因为系统已经默认设置好了.我们只需要修改我们使用的设 定就好了.默认的设置在django/conf/

  • 关于python scrapy中添加cookie踩坑记录

    问题发现: 前段时间项目中,为了防止被封号(提供的可用账号太少),对于能不登录就可以抓取的内容采用不带cookie的策略,只有必要的内容才带上cookie去访问. 本来想着很简单:在每个抛出来的Request的meta中带上一个标志位,通过在CookieMiddleware中查看这个标志位,决定是否是给这个Request是否装上Cookie. 实现的代码大致如下: class CookieMiddleware(object): """ 每次请求都随机从账号池中选择一个账号去访

  • Android中WebView的基本配置与填坑记录大全

    前言 在应用程序开发过程中,经常会采用webview来展现某些界面,这样就可以不受发布版本控制,实时更新,遇到问题可以快速修复. 但是在Android开发中,由于Android版本分化严重,每一个版本针对webview都有部分更改,因此在开发过程中会遇到各种各样的坑,下面这篇就来给大家介绍关于Android中WebView的基本配置与填坑记录,话不多说了,来一起看看详细的介绍吧. 基本配置 // 硬件加速 getActivity().getWindow().setFlags( WindowMan

  • Django自带日志 settings.py文件配置方法

    Django settings.py文件配置部分: # logging配置 log_file = '/home/nagain/learn/log' log_file_path = os.path.join(log_file, 'all.log') if not os.path.exists(log_file): os.mkdir(log_file) os.mknod(log_file_path) # 创建空文件 LOGGING = { 'version': 1, 'disable_existin

  • 基于scrapy的redis安装和配置方法

    在定向爬虫的制作过程中,使用分布式爬取技术可以显著提高爬取效率.而 Redis 配合 Scrapy 是实现分布式爬取的基础. Redis 是一个高性能的 Key-Value 数据库,它把数据保存在内存里.因此可以有非常快的数据读写速度. scrapy-redis 的安装 pip install scrapy-redis easy_install scrapy-redis 下载 http://redis.io/download 版本推荐 stable 3.0.2 运行redis redis-ser

  • scrapy中如何设置应用cookies的方法(3种)

    本人是python3.6 总的来说,scrapy框架中设置cookie有三种方式. 第一种:setting文件中设置cookie 当COOKIES_ENABLED是注释的时候scrapy默认没有开启cookie 当COOKIES_ENABLED没有注释设置为False的时候scrapy默认使用了settings里面的cookie 当COOKIES_ENABLED设置为True的时候scrapy就会把settings的cookie关掉,使用自定义cookie 所以当我使用settings的cook

  • Scrapy中如何向Spider传入参数的方法实现

    在使用Scrapy爬取数据时,有时会碰到需要根据传递给Spider的参数来决定爬取哪些Url或者爬取哪些页的情况. 例如,百度贴吧的放置奇兵吧的地址如下,其中 kw参数用来指定贴吧名称.pn参数用来对帖子进行翻页. https://tieba.baidu.com/f?kw=放置奇兵&ie=utf-8&pn=250 如果我们希望通过参数传递的方式将贴吧名称和页数等参数传给Spider,来控制我们要爬取哪一个贴吧.爬取哪些页.遇到这种情况,有以下两种方法向Spider传递参数. 方式一 通过

  • 如何在scrapy中集成selenium爬取网页的方法

    1.背景 我们在爬取网页时一般会使用到三个爬虫库:requests,scrapy,selenium.requests一般用于小型爬虫,scrapy用于构建大的爬虫项目,而selenium主要用来应付负责的页面(复杂js渲染的页面,请求非常难构造,或者构造方式经常变化). 在我们面对大型爬虫项目时,肯定会优选scrapy框架来开发,但是在解析复杂JS渲染的页面时,又很麻烦. 尽管使用selenium浏览器渲染来抓取这样的页面很方便,这种方式下,我们不需要关心页面后台发生了怎样的请求,也不需要分析整

  • Python爬虫Scrapy框架IP代理的配置与调试

    目录 代理ip的逻辑在哪里 如何配置动态的代理ip 在调试爬虫的时候,新手都会遇到关于ip的错误,好好的程序突然报错了,怎么解决,关于ip访问的错误其实很好解决,但是怎么知道解决好了呢?怎么确定是代理ip的问题呢?由于笔者主修语言是Java,所以有些解释可能和Python大佬们的解释不一样,因为我是从Java 的角度看Python.这样也便于Java开发人员阅读理解. 代理ip的逻辑在哪里 一个scrapy 的项目结构是这样的 scrapydownloadertest # 项目文件夹 │ ite

随机推荐