系统城装机大师 - 固镇县祥瑞电脑科技销售部宣传站!

当前位置:首页 > 脚本中心 > python > 详细页面

scrapy redis配置文件setting参数详解

时间:2020-11-18来源:www.pcxitongcheng.com作者:电脑系统城

scrapy项目 setting.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#Resis 设置
 
#使能Redis调度器
 
SCHEDULER = 'scrapy_redis.scheduler.Scheduler'
 
#所有spider通过redis使用同一个去重过滤器
 
DUPEFILTER_CLASS = 'scrapy_redis.dupefilter.RFPDupeFilter'
 
#不清除Redis队列、这样可以暂停/恢复 爬取
 
#SCHEDULER_PERSIST = True
 
#SCHEDULER_QUEUE_CLASS ='scrapy_redis.queue.PriorityQueue' #默认队列,优先级队列
#备用队列。
#SCHEDULER_QUEUE_CLASS ='scrapy_redis.queue.FifoQueue' #先进先出队列
#SCHEDULER_QUEUE_CLASS ='scrapy_redis.queue.LifoQueue' #后进先出队列
 
#最大空闲时间防止分布式爬虫因为等待而关闭
 
#SCHEDULER_IDLE_BEFORE_CLOSE = 10
 
 
#将抓取的item存储在Redis中以进行后续处理。
 
ITEM_PIPELINES = {
   'scrapy_redis.pipelines.RedisPipeline':300,
}
 
# The item pipeline serializes and stores the items in this redis key.
#item pipeline 将items 序列化 并用如下key名储存在redis中
 
#REDIS_ITEMS_KEY = '%(spider)s:items'
 
#默认的item序列化方法是ScrapyJSONEncoder,你也可以使用自定义的序列化方式
 
#REDIS_ITEMS_SERIALIZER = 'json.dumps'
 
 
#设置redis地址 端口 密码
 
REDIS_HOST = 'localhost'
REDIS_HOST = 6379
 
#也可以通过下面这种方法设置redis地址 端口和密码,一旦设置了这个,则会覆盖上面所设置的REDIS_HOST和REDIS_HOST
 
 REDIS_URL = 'redis://root:redis_pass@xxx.xx.xx.xx:6379'
 #root用户名,redis_pass:你设置的redis验证密码,xxxx:你的主机ip
 
#你设置的redis其他参数 Custom redis client parameters (i.e.: socket timeout, etc.)
REDIS_PARAMS = {}
 
 
#自定义的redis客户端类
#REDIS_PARAMS['redis_cls'] = 'myproject.RedisClient'
 
# If True, it uses redis ``zrevrange`` and ``zremrangebyrank`` operation. You have to use the ``zadd``
# command to add URLS and Scores to redis queue. This could be useful if you
# want to use priority and avoid duplicates in your start urls list.
 
#REDIS_START_URLS_AS_SET = False
 
# 默认的RedisSpider 或 RedisCrawlSpider start urls key
 
#REDIS_START_URLS_KEY = '%(name)s:start_urls'
 
#redis的默认encoding是utf-8,如果你想用其他编码可以进行如下设置:
 
#REDIS_ENCODING = 'latin1'

类scrapy_redis.spiders.RedisSpider使spider可以从redis数据库中读取URL。Redis队列中的URL将被爬取,如果第一个请求产生更多请求,则spider将处理这些请求,然后再从Redis中获取另一个URL。

创建spider

1
2
3
4
5
6
7
8
from scrapy_redis.spiders import RedisSpider
 
class MySpider(RedisSpider):
  name = 'myspider'
 
  def parse(self, response):
    # do stuff
    pass

在redis-cli设置start_url

1 redis-cli lpush myspider:start_urls http://google.com

到此这篇关于scrapy redis配置文件setting参数详解的文章就介绍到这了

分享到:

相关信息

系统教程栏目

栏目热门教程

人气教程排行

站长推荐

热门系统下载