python进阶 -----scrapy分布式爬虫

    大家都知道,现在爬虫爬取的数据很多,仅凭单台主机已经无法满足人们的需要,所以,分布式爬虫提供了很好的解决方案。

    第一步,我们需要安装redis服务,及redis的可视化管理工具。附上下载链接:

    https://github.com/MSOpenTech/redis/tags   安装教程:https://blog.csdn.net/u010137839/article/details/80210328

    第二步,我们需要修改redis的配置文件

        将redis.windows.conf的bind 127.0.0.1 改为0.0.0.0

        将redis.windows.conf的protected-mode 改为no (这个是取消redis的保护模式)

    第三步,我们需要安装scrapy_redis这个模块

          安装命令:pip install scrapy_redis

    第四步, 我们需要修改我们带代码,来让我们的代码能分别部署在不同的机器上。

        首先,我们需要在我们的配置文件上添加这样几句话:

        python进阶 -----scrapy分布式爬虫

   第五步,我们要修改自己的爬虫文件,使其能接收到redis传过来的网址。

     python进阶 -----scrapy分布式爬虫

    第六步,如果你的爬虫里面有需要连接数据库的,要先设置数据库为可连接状态

  1.    先打开数据库管理工具,打开mysql数据库里面的user表,设置root的权限为%(表示任何人都可以连接)  
  2. 然后刷新数据库权限  

    第七步,把同一套代码拷到多台服务器当中,启动redis,以redis.windows.conf启动。

    最后一步,启动所有主机上的同一套项目。

    注意事项:  

       分布式用到的代码应该是同一套代码
       1) 先把项目配置为分布式
       2) 把项目拷贝到多台服务器中
       3) 把所有爬虫项目都跑起来
      4) 在主redis-cli中lpush你的网址即可
       5) 效果:所有爬虫都开始运行,并且数据还都不一样