第九章 scrapy-redis 分布式爬虫

scrapy-redis 分布式爬虫

标签(空格分隔): python scrapy scrapy-redis


分布式爬虫要点

  • 状态管理器
  • 利用多机器宽带加速爬取
  • 利用多机器的ip加速爬取
  • request队列集中管理
  • 去重集中管理

scrapy-redis 基础知识

  • 数据类型

    字符串、散列(哈希)、列表、集合、可排序集合

  • 字符串命令

    • set mykey ''cnblogs'' 创建变量
    • get mykey 查看变量
    • getrange mykey start end 获取字符串,如:get name 2 5 #获取name2~5的字符串
    • strlen mykey 获取长度
    • incr/decr mykey 加一减一,类型是int
    • append mykey ''com'' 添加字符串,添加到末尾
  • 哈希命令

    • hset myhash name "cnblogs" 创建变量,myhash类似于变量名,name类似于key,"cnblogs"类似于values
    • hgetall myhash 得到key和values两者
    • hget myhash name 得到values
    • hexists myhash name 检查是否存在这个key
    • hdel myhash name 删除这个key
    • hkeys myhash 查看key
    • hvals muhash 查看values
  • 列表命令

    • lpush/rpush mylist "cnblogs" 左添加/右添加值
    • lrange mylist 0 10 查看列表0~10的值
    • blpop/brpop key1[key2] timeout 左删除/右删除一个,timeout是如果没有key,等待设置的时间后结束。
    • lpop/rpop key 左删除/右删除,没有等待时间。
    • llen key 获得长度
    • lindex key index 取第index元素,index是从0开始的
  • 集合命令

    • sadd myset "cnblogs" 添加内容,返回1表示不存在,0表示存在
    • scard key 查看set中的值
    • sdiff key1 [key2] 2个set做减法,其实就是[减去了交际部分]
    • sinter key1 [key2] 2个set做加法,其实就是留下了两者的交集
    • spop key 随机删除值
    • srandmember key member 随机获取member个值
    • smembers key 获取全部的元素
  • 可排序集合命令

    • zadd myset 0 ‘project1’ [1 ‘project2’] 添加集合元素;中括号是没有的,在这里是便于理解
    • zrangebyscore myset 0 100 选取分数在0~100的元素
    • zcount key min max 选取分数在min~max的元素的个数

scrapy-redis 使用

  • 项目引用

    • 安装

    通过下载windows版本的redis服务器,并启动。具体操作redis操作

redis-server.exe redis.windows.conf #启动

  • 虚拟环境安装引用
pip install redis
  • 项目启动前,需启动redis服务器

  • 原视频UP主慕课网(聚焦Python分布式爬虫必学框架Scrapy 打造搜索引擎)
  • 本篇博客撰写人: XiaoJinZi 个人主页 转载请注明出处
  • 学生能力有限 附上邮箱: [email protected] 不足以及误处请大佬指责

你可能感兴趣的:(第九章 scrapy-redis 分布式爬虫)