Scrapy_redis 

  1. Scrapy_redis在scrapy的基础上实现了更多,更强大的功能,具体体现在:request去重,爬虫持久化,实现分布式。
  2. 无论是多线程爬虫或是scrapy异步爬虫,都是在一台机器上。而分布式爬虫则是将堕胎主机组合起来,共同完成一个爬取任务,提高爬取的效率
  3. 分布式爬虫优点
  • 可以充分利用多台机器的带宽
  • 可以充分利用多台机器的ip地址
  • 多台机器做,爬取效率更高

回顾scrapy的爬虫流程

redis哪个类型可以去重 scrapy-redis去重原理_服务器

scrapy_redis的爬虫流程

Redis服务器:管理爬虫服务器请求的url并去重;存储爬虫服务器爬下来的数据

redis哪个类型可以去重 scrapy-redis去重原理_scrapy_redis_02

Redis 

redis是一种支持分布式的nosql(非关系型)数据库,数据是保存在内存中,同时redis可以定时把内存数据同步到磁盘中,即实现数据持久化。

redis可以用作数据库、缓存、和消息中间件。它支持多种类型的数据结果,如字符串,哈希,列表,集合,有序集合等

常用命令:

/etc/init.d/redis-server stop   --->redis停止
/etc/init.d/redis-server start   --->启动
/etc/init.d/redis-server restart   --->重启
redis-cli -h <hostname> -p <port> -->远程连接redis数据库

redis中:

  1. select 1 -->切换到db1,默认在db0
  2. keys * -->查看所有的redis键
  3. type "键" -->查看键的数据类型
  4. flushdb -->清空当前db
  5. fulshall -->清空所有db
  6. 中文文档:http://www.redis.cn/commands.html

安装Redis 

在Windows上安装Redis:

  • 下载:redis官方是不支持windows操作系统的。但是微软的开源部门将redis移植到了windows上。因此下载地址不是在redis官网上。而是在github上:https://github.com/MicrosoftArchive/redis/releases。
  • 安装:点击一顿下一步安装就可以了。
  • 运行:进入到redis安装所在的路径然后执行redis-server.exe redis.windows.conf就可以运行了。
  • 连接:redis和mysql以及mongo是一样的,都提供了一个客户端进行连接。输入命令redis-cli(前提是redis安装路径已经加入到环境变量中了)就可以连接到redis服务器了。

在Ubuntu上安装Redis:

  • 安装:sudo apt-get install redis-server
  • 卸载:sudo apt-get purge --auto-remove redis-server
  • 启动:redis安装后,默认会自动启动,可以通过这个命令查看:ps aux|grep redis
  • 如果想自己手动启动,可以通过以下命令进行启动:sudo service redis-server start。
  • 停止:sudo service redis-server stop
  • 客户端链接redis:redis-cli –h [ip地址] –p [端口号]