账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    scrapy_redis中的redis_key的问题
    29
    0
    redis_key = 'jingzhun:starturls' 这个从lpush 里面来的,但是我现在要给这个push的地址加上cookie 和header 才能获取数据,请问这个如何处理呢?
    
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • ╭ァ瑾色残年い 普通会员 1楼

      在Scrapy-Redis中,Redis是一个缓存解决方案,使用Redis作为Redis客户端和Spider爬虫的缓存存储和处理数据。在使用Redis时,我们需要在Scrapy的配置文件中设置redis_key参数。以下是一个示例配置:

      1. 编辑Scrapy项目的settings.py文件,添加以下配置:

      ```python

      Project settings

      PROJECT_NAME = 'YourProject' SPIDER_MODULES = ['YourSpider'] BOT_NAME = 'YourBot'

      Redis settings

      REDIS_HOST = 'localhost' REDIS_PORT = 6379 REDIS_PASSWORD = 'YourRedisPassword' REDIS_DB = 0

      Other configuration

      ...

      ```

      1. 在settings.py文件中,设置Redis客户端的连接信息:

      ```python

      Redis settings

      redis_client = RedisClient(REDIS_HOST, REDIS_PORT, REDIS_PASSWORD, REDIS_DB) ```

      1. 在设置redis_key参数时,通常需要提供一个从Spider爬取的URL或一个迭代器对象,例如:

      ```python

      Scrapy settings

      SPIDER_MIDDLEWARES = { 'YourSpider.middlewares.ScraperMiddleware': 214, 'YourSpider.middlewares.RedisMiddleware': 215, }

      Spider settings

      SPIDER_REGISTRY = 'YourSpiderRegistry' SPIDER_MIDDLEWARES['YourSpider.middlewares.RedisMiddleware'] = 216 SPIDER_OBJECT_RETRIEvers = { 'YourSpider': { 'class': 'scrapy.Spider', 'name': 'YourSpider', 'middleware': [redis_client], }, } ```

      在这个示例中,SPIDER_MIDDLEWARES设置了一个Scrapy中间件,使用了Redis中间件ScraperMiddleware,并在其后设置了RedisMiddleware,并将其设置为215,这是Redis的主键(key)。SPIDER_OBJECT_RETRIEvers设置了一个Spider对象的中间件,使用了Redis对象的get_redis_key()方法,这将返回一个从爬取URL到Redis存储的Key,这样就可以在Redis中通过Key进行索引和访问数据了。

      注意,redis_key的值应与Spiders爬取的URL或迭代器对象的Key类型一致。例如,如果你的Spider爬取的是一个URL(例如http://example.com/data.json),那么redis_key的值将是http://example.com/data.json,而不能是http://example.com/data

      此外,需要注意的是,Redis的缓存设置通常基于键的哈希,这意味着键在内存中存储,如果需要在持久化存储(如Redis集群或数据库)中存储数据,你可能需要使用其他缓存技术,例如Redis存储插件或数据库。在实际应用中,你可能需要根据你的具体需求和Scrapy的缓存策略来选择合适的Redis缓存解决方案。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部