基于Scrapy_redis部署scrapy分布式爬虫

6 篇文章 0 订阅
2 篇文章 0 订阅

基于Scrapy_redis部署scrapy分布式爬虫

1.使用命令行工具下载工具包 scrapy_redis(若是虚拟环境可下载在虚拟环境中)

2.准备一个写好的没有错误的爬虫项目(这里以51job为例)

3.使用pycharm打开项目,找到settings文件,配置scrapy项目使用的调度器及过滤器

4.修改spider爬虫文件

 5.如果连接的有远程服务,例如MySQL,Redis等,需要将远程服务连接开启,保证在其他主机上能够成功连接

将root主机的host改成 % 即可在远程使用该账户访问MySQL,更改完成后保存

保存完成后刷新权限

 6.配置远程连接的MySQL及redis地址

打开cmd命令行进入redis安装目录启用redis服务

如果主机防火墙开启,则需要将其关闭

 

由于电脑基本上都默认设置的有防火墙,如果redis想访问远程的redis服务器,需要解除保护模式
做法
1) 在远程服务器登录redis-cli
2) 输入命令
config set protected-mode "no"  回车

 7.连接成功后可运行爬虫文件

 8.打开redis查看结果

 

 9.打开数据库查看结果

到此51job的分布式爬虫项目已部署完毕,简单总结一下redis部署主从关系

Redis属于非关系型数据库

修改配置文件(找到redis下的redis.windows.conf)
     1. 修改主的配置文件  搜索bind,将后面的ip改成当前服务器ip
        2. 修改从的配置文件  搜索slaveof,将该代码解注释,然后添加 ip和端口号。注意:端口号必须写
2) 重启主和从的redis服务  

进入文件夹路径下:shift 右键 在此处打开命令窗口

在cmd终端输入     redis-server redis.windows.conf

如果输入报错:bind:no error   

重开一个终端输入redis-cli 回车 输入shutdown 回车 输入 exit退出

然后再重新输入输入redis-server.exe redis.windows.conf运行服务器    

通过redis-cli重新链接

主开启redis服务器, 通过redis-cli -h 主的ip -p端口号6379
4) 从开启redis服务器,通过redis-cli链接

主设置set name zhangsan ,从能获取到 get name 返回zhangsan 说明链接成功

查看从的个数,主输入info,确认是否连接成功

如果redis想访问远程的redis服务器,需要解除保护模式

做法

1) 在远程服务器登录redis-cli

2) 输入命令

config set protected-mode "no"  回车

附:

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

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值