[爬虫類]の研究ノートのday58のRedisの-Scrapy、クローラ+ Scrapy-Redisの構成データベースデスクトップ管理ツールを修正するための戦略+インストール+ RedisのRedisの+を分散し、分散構築するために、ゼロからの戦闘+を7.scrapyは、Redisの

7.scrapy、Redisの戦闘

ここに画像を挿入説明

ゼロからのRedis-Scrapyは、分散クローラを構築します

[画像のダンプはチェーンが失敗し、発信局は、(IMG-2O2kKXAs-1580311957944)直接アップロード(../画像/ scrapy-redis.png)ダウン画像を保存することが推奨され、セキュリティチェーン機構を有していてもよいです]

Scrapy-Redisの分散戦略:

Windowsの10、マックOS X、Ubuntuの16.04、CentOSの7.2は、どのコンピュータがマスターよだれの終了または終了として使用することができ、例えば:4台のコンピュータがあると仮定します。

  • Master端(コアサーバー):Windowsの10使って、Redisのデータベースをセットアップするには、クロールの責任を負いません、URLの指紋は、重い刑、要求分布、およびデータを格納するための唯一の責任があります
  • Slaver端(クローラ実行側):MacのOS X、Ubuntuの16.04、CentOSの7.2を使用するには、マスターに新しい要求を提出する操作中に、クローラーを実装するための責任があります

[画像のダンプはチェーンが失敗し、発信局は、直接アップロード(IMG-8xUVBU3Y-1580311957944)(../画像/ redis.png)ダウン画像を保存することが推奨され、セキュリティチェーン機構を有していてもよいです]

  1. よだれクロールデータは、新しいタスクがマスター・プロセスに提出される要求しながら、まずよだれの終わりには、データ取り込みのためのマスター端末からのジョブ(リクエスト、URL)を取ります。
  2. マスタデータベースRedisの一端のみ、データをクロールし、格納、処理要求キュークライミングに追加する、タスク割り当て重量及び未処理要求の原因です。

Scrapy-Redisのデフォルトは、この戦略を使用することで、我々は、タスクのスケジューリングや他の作業Scrapy-Redisのは、私たちは良い仕事を支援してきました、我々は唯一の行にredis_keyを指定、継承RedisSpiderする必要があるため、それは、非常に簡単です実現します。

缺点是,Scrapy-Redis调度的任务是Request对象,里面信息量比较大(不仅包含url,还有callback函数、headers等信息),可能导致的结果就是会降低爬虫速度、而且会占用Redis大量的存储空间,所以如果要保证效率,那么就需要一定硬件水平。

一、安装Redis

安装Redis:http://redis.io/download

安装完成后,拷贝一份Redis安装目录下的redis.conf到任意目录,建议保存到:/etc/redis/redis.conf (Windows系统可以无需变动)

二、修改配置文件 redis.conf

打开你的redis.conf配置文件,示例:

  • 非Windows系统: sudo vi /etc/redis/redis.conf
  • Windows系统:C:\Intel\Redis\conf\redis.conf
  1. Master端redis.conf里注释bind 127.0.0.1,Slave端才能远程连接到Master端的Redis数据库。

    [画像のダンプはチェーンが失敗し、発信局は、直接アップロード(IMG-FVhKQpFO-1580311957945)(../画像/ master_redis.png)ダウン画像を保存することが推奨され、セキュリティチェーン機構を有していてもよいです]

    • daemonize yno表示Redis默认不作为守护进程运行,即在运行redis-server /etc/redis/redis.conf时,将显示Redis启动提示画面;

      • daemonize yes则默认后台运行,不必重新启动新的终端窗口执行其他命令,看个人喜好和实际需要。

      [画像ソースステーションは、セキュリティチェーン機構を有していてもよい、チェーンが失敗したダンプ、直接アップロード(IMG-Phgni876-1580311957945)(../画像/デーモン化-redis.png)ダウン画像を保存することをお勧めします]

三、测试Slave端远程连接Master端

测试中,Master端Windows 10 的IP地址为:192.168.199.108

  1. Master端按指定配置文件启动 redis-server,示例:

    • 非Windows系统:sudo redis-server /etc/redis/redis/conf
    • Windows系统:命令提示符(管理员)模式下执行 redis-server C:\Intel\Redis\conf\redis.conf读取默认配置即可。
  2. Master端启动本地redis-cli

    [画像のダンプはチェーンが失敗し、発信局は(IMG-1tnZrOsP-1580311957946)(../画像は/ Redisの-CLI-master.pngを)直接アップロードダウン画像を保存することが推奨され、セキュリティチェーン機構を有していてもよいです]

  3. slave端启动redis-cli -h 192.168.199.108,-h 参数表示连接到指定主机的redis数据库

    [画像ソースステーションは、セキュリティチェーン機構を有していてもよい、チェーンが失敗したダンプ、それは(IMG-dtjARCD9-1580311957947)直接アップロードダウン画像を保存することをお勧めします(../画像/ Redisの-CLI-mac.pngを)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6KzVbBIi-1580311957947)(../images/redis-cli-ubuntu.png)]

注意:Slave端无需启动redis-server,Master端启动即可。只要 Slave 端读取到了 Master 端的 Redis 数据库,则表示能够连接成功,可以实施分布式。

四、Redis数据库桌面管理工具

それはRedisのデスクトップマネージャーが推奨され、Windows版、Mac OS X、Linuxなどのプラットフォームをサポートしています。

ダウンロードします。https://redisdesktop.com/download

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DrLW5y4A-1580311957948)(../images/redis-manager-first.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sh57viD5-1580311957948)(../images/redis-reload-flush.png)]

公開された290元の記事 ウォン称賛94 ビュー10000 +

おすすめ

転載: blog.csdn.net/qq_35456045/article/details/104111462