分布式爬虫、redis介绍及安装

Redis在爬虫数据处理中的应用实践 例如,在爬虫任务中,我们可以将采集过程中的错误信息、状态信息等通过Redis哈希表存储。通常情况下,我们会选择将数据储存在关系型数据库中(如MySQL),但是,这种方案面临的一个重要问题是高并发和高读写压力下的数据库性能问题。但是,在大规模的爬虫任务中,数据的处理和储存是一个巨大的挑战。在爬虫中,我们可以将一些常用的临时数据(如代理IP、请求头、cookies等)存储到字符串中,并通过键值对的方式进行读写。本文将介绍redis在爬虫数据处理中的应用实践,对于爬虫开发者来说,这将是一个非常有价值的参考。 阅读详情

 

目录

分布式爬虫

redis数据库的特点

redis及可视化工具安装 


分布式爬虫


1.什么是分布式爬虫?
  默认情况下 scrapy 爬虫是淡季爬虫,只能在一台电脑上运行,因为爬虫调度器当中的队列queue去重和set集合都是在本机上创建的,其他电脑无法访问另一台电脑上的内存的内容
2.分布式爬虫用一个共同的爬虫程序 同时部署到多台电脑上运行, 这样可以提高爬虫速度,实现分布式爬虫

分布式爬虫的前提:


1.要保证每一台计算机都能够正常的执行scrapy命令,能够启动爬虫
2.要保证所有的爬虫程序可以访问桶一个队列的一个set集合
scrapy_redis
    想要保证多台机器公用一个queue队列和set集合,scrapy中是结合scrapy_redis完成的分布式爬虫可以让所有机器上的爬虫程序 从同一个queue队列中获取request请求,而且每个机器取出的request请求的对象是不一样的,直到所有的request请求被请求完毕

分布式爬虫的适用范围/条件/要求


1.分布式爬虫 对电脑的性能有一定的要求
2.分布式爬虫对网速也有一定的要求  电脑性能和网速如果不是很好的话,爬虫效率不如单机爬虫
注意:并不是任何时候都可以使用分布式爬虫 因为对硬件有要求,小公司 可能负担不起

分布式爬虫经和 redis数据库一起使用


redis数据库的特点


优点:
1.体积小,使用方便
如果存储数据量较大的话,启动速度快
默认使用持久化数据方式
数据库中的数据和内存中的数据可以相互访问
缺点:
从安全性的角度来讲,持久化数据可能会崩溃,造成数据丢失

要实现分布式爬虫 首先要配置服务器主从

配置主从的目的


1.达到备份的功能。一旦master出现崩溃,而数据库中还有数据的话可以将其中的一个slave重新设置为主服务器,从而恢复redis的正常运行
2.一个redis服务器负责读写,性能较低,通过主从来减轻redis的压力

redis主从的配置


    redis作为缓存服务器,主要试讲数据在内存中进行缓存 但是一台机器的内存和性能是有限的但是对于redis数据库的数据进行的读写量较大的时候,那么一台redis就不能满足需求,此时需要将redis部署到多台机器上,用于写入数据的redis,称之为master,而只负责读取数据的redis,称之为slave

redis主从的特点


1.master只负责写入数据,slave只负责读取数据
2.当slave创建的时候,会向master发送一个人同步的命令,master接收到命令以后,
  将数据同步给slave
3.master只能有一个,而slave可以有多个


redis及可视化工具安装 

 

1.redis安装

(1.)下载

下载地址:https://github.com/MicrosoftArchive/redis/releases

 下载完成后,将其内容解压到桌面的新建文件夹中,并将文件夹重命名为:redis(依照个人需要选择解压路径)。

(2.)配置

打开redis文件,找到 redis.windows.conf 文件,用编辑器打开,对其内容进行如下修改:

 

 完成后,将redis文件的路径复制,然后配置环境变量(具体操作如下):

(3.)测试

    当环境变量配置完毕,打开cmd终端,cd到redis文件中,输入 : redis-server redis.windows.conf  ,回车后,出现下图界面,表示配置成功。

这时候另启一个cmd窗口,原来的不要关闭,不然就无法访问服务端了。cd到redis文件,输入命令: redis-cli.exe -h 127.0.0.1 -p 6379 。

设置键值对 set myKey abc 

取出键值对 get myKey

2.可视化工具下载及安装

(1.)下载

下载地址:https://redisdesktop.com/download

点击去后,选择需要的版本(博主当时安装时选择的0.8.8的)

下载完成后, 安装时直接下一步即可。 

(2.)添加

 后续实例操作,在下一篇中会做详细讲解

一个简单的分布式的知乎爬虫 源代码地址:https://github.com/WiseDoge/ZhiHu_Spider一个分布式的网络爬虫,用于抓取知乎的用户详细信息,包括用户名、行业、位置、毕业院校、介绍、关注者、关注人等。 原理 主机 负责分发任务。从起始位置开始,将当前用户的所有关注者提取出来,并压入Redis任务队列,然后随机的进入到其中一个关注者的主页,递归上述操作。 从机 负责抓取网页。连接至Redis 阅读详情

相关推荐

网络爬虫 - scrapy分布式(十六)

scrapy分布式

qq_28396923的博客 1977

用Redis实现爬虫URL去重与队列管理:从原理到实战的极简指南

从百万级URL的精确去重,到多机协作的分布式队列,Redis通过简单的数据结构解决了爬虫开发中的核心痛点。掌握SET、LIST、ZSET的使用技巧,配合Lua脚本和管道操作,能让你的爬虫效率提升10倍以上。90%的爬虫性能问题,都可以通过Redis优化解决。

这家伙很懒,什么都没有留下 1716

使用scrapy-redis构建简单的分布式爬虫

前言scrapy是python界出名的一个爬虫框架。Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 可以应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。 虽然scrapy能做的事情很多,但是要做到大规模的分布式应用则捉襟见肘。有能人改变了scrapy的队列调度,将起始的网址从start_urls里分离出来,改为从redis读取,多个客户端可以同时读取同一个re

howtogetout的博客 3万+

协程爬取贴吧里发帖内容(redis做任务队列,mongo存储)

是用redis做任务队列时,要思考: 用什么数据类型来做任务队列 怎样才能防止重复爬取 首先了解一下redis可以存储什么数据类型: 字符串String 哈希hash 列表list 集合set 有序集合zset 浏览完这几种数据类型的功能之后,决定用list来做任务队列,用set来解决思考的问题,就是防止重复爬取的问题。 大概思...

fiery_heart的博客 491

Python3 爬虫 Scrapy 与 Redis

Scrapy是一个分布式爬虫的框架,如果把它像普通的爬虫一样单机运行,它的优势将不会被体现出来。因此,要让Scrapy往分布式爬虫方向发展,就需要学习Scrapy与Redis的结合使用。Redis在Scrapy的爬虫中作为一个队列存在。

u014695938的博客 1593

使用 scrapy-redis实现分布式爬虫

Scrapy 和 scrapy-redis的区别 Scrapy 是一个通用的爬虫框架,但是不支持分布式,Scrapy-redis是为了更方便地实现Scrapy分布式爬取,而提供了一些以redis为基础的组件(仅有组件)。 pip install scrapy-redis Scrapy-redis提供了下面四种组件(components):(四种组件意味着这四个模块都要做相应的修改) ...

LDC,公众号【轻松学编程】 2万+

redis 作为消息队列实现分布式爬虫

redis 作为消息队列的例子: # -*- coding:utf-8 -*- # @Author: YOYO # @Time: 2018/10/11 15:38 # @说明: import json import re import sys import threading import traceback import time from lxml import etree import...

YOYO的博客 1070

(十九)Scrapy中基于Scrapy-redis组件实现分布式爬虫(非常详细)

本节详细介绍了什么是分布式爬虫,什么是scrapy-redis,通过实例的方式,介绍了如何将普通的scrapy爬虫项目改造为scrapy-redis爬虫,从而实现分布式爬取,实现mysql数据库存储和分布式爬虫部署。

c1007857613的专栏 2626

20.网络爬虫—Scrapy-Redis分布式爬虫

🧾 默认情况下,我们使用scrapy框架进行爬虫时使用的是单机爬虫,就是说它只能在一台电脑上运行,因为爬虫调度器当中的队列queue去重和set集合都只能在本机上创建的,其他电脑无法访问另外一台电脑上的内存和内容。🧾 🧾如果想方便的话,可以把 redis 的路径加到系统的环境变量里,这样就省得再输路径了,后面的那个 redis.windows.conf 可以省略,如果省略,会启用默认的。更好的稳定性:由于分布式爬虫具有节点冗余机制,系统的稳定性更高,即使某些节点发生故障,也不会影响整个系统的运行。

Oona_01的博客 859

【Python爬虫(38)】解锁Scrapy - Redis:构建高效分布式爬虫

使用 Scrapy - Redis 实现分布式爬虫,为大规模数据爬取提供了高效、可靠的解决方案。通过安装和配置 Scrapy - Redis 扩展,将 Scrapy 项目改造为分布式爬虫,利用 Redis 作为任务队列和去重容器,使得爬虫任务能够在多个节点上并行执行,大大提高了数据爬取的效率和系统的稳定性。同时,在分布式爬虫中,合理地进行数据合并与处理,能够确保获取到的数据完整、准确,为后续的数据分析和应用奠定坚实的基础。

邓邓子的博客 1324

全面掌握Python分布式爬虫实战指南

网络爬虫通过发送HTTP请求,接收HTTP响应,解析网页内容,再根据链接抓取新的网页,形成一个不断循环的抓取过程。根据其功能和目标的不同,爬虫可被分为多种类型,如通用爬虫、聚焦爬虫、增量爬虫等。网络爬虫,又称网络蜘蛛(Web Crawler),是一种自动化获取网页内容的脚本或程序。它按照一定的规则,自动地在互联网上爬取网页信息。网络爬虫广泛应用于搜索引擎的网页抓取、数据挖掘、新闻聚合等场景。网络爬虫按照其抓取方式和使用场景主要可以分为以下几种类型:通用型爬虫。

weixin_31869917的博客 1390

scrapy框架——架构介绍、安装、项目创建、目录介绍、使用、持久化方案、集成selenium、去重规则源码分析、布隆过滤器使用、redis实现分布式爬虫

Scrapy一个开源和协作的框架,其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的,使用它可以以快速、简单、可扩展的方式从网站中提取所需的数据。但目前Scrapy的用途十分广泛,可用于如数据挖掘、监测和自动化测试等领域,也可以应用在获取API所返回的数据(例如 Amazon Associates Web Services ) 或者通用的网络爬虫引擎负责控制系统所有组件之间的数据流,并在某些动作发生时触发事件。......

kdq18486588014的博客 944

Unity跨平台存储避坑指南:persistentDataPath权限真相

Application.persistentDataPath是Unity中用于持久化数据的核心路径,表面提供跨平台抽象,实则底层访问机制因操作系统而异。其原理并非简单路径映射,而是受Android Scoped Storage、iOS Data Protection、Windows组策略及macOS隐私权限等多层安全模型动态约束。技术价值在于保障用户数据长期可靠存储,但若忽略平台差异,极易引发‘本地正常、真机崩溃’‘iOS可存、Android报错’等线上事故。典型应用场景包括游戏存档、离线缓存、自定义资源包

weixin_32073537的博客 351

网络爬虫开发实战(一):开发环境配置

本文为整理最近学习的爬虫内容,学习网址https://germey.gitbooks.io/python3webspider/ 开发环境配置 目录 开发环境配置 1. python3 2. 请求库的安装 3. 解析库的安装 4. 数据库的安装 5. 存储库的安装 6. Web库的安装 7. 爬虫框架的安装 8. 部署相关库的安装 1. python3   2. 请求库的...

sinat_30281495的博客 966

从《新程序员》系列看程序员职业发展趋势与成长路径

在信息技术日新月异的当下,软件开发行业蓬勃发展,程序员作为行业的核心力量,其成长与发展路径备受瞩目。《新程序员》系列杂志应运而生,以其前瞻性的视角、丰富多元的内容,为广大程序员尤其是新程序员提供了洞察行业趋势、学习前沿技术、汲取前辈经验的宝贵窗口。该系列杂志由优快云精心打造,自推出以来,便在开发者群体中引发了强烈反响。《新程序员》系列内容涵盖了从基础技术知识的深入解读,到行业前沿趋势的精准预测;从优秀开发者的成长历程分享,到各大企业数字化转型的实践案例剖析等多个维度。

AllenLV的博客 2259

LC滤波器设计实战:从理论计算到PCB布局的完整指南

滤波器是信号处理与电路设计中的基础组件,用于从复杂信号中提取特定频率分量或抑制干扰噪声。其核心原理基于电感(L)和电容(C)等无源元件的频率选择特性,通过特定的网络拓扑实现幅频与相频特性的塑造。在工程实践中,LC滤波器因其结构简单、可靠性高、成本可控,成为射频、模拟及电源电路中的关键技术手段。其设计价值在于将理论网络综合转化为可量产、高性能的硬件解决方案,广泛应用于通信系统、音频处理、电源净化和传感器信号调理等场景。本文聚焦于LC滤波器的工程设计全流程,深入剖析了巴特沃斯、切比雪夫等经典类型的选型权衡,并重

weixin_34194829的博客 273

【愚公系列】《Python网络爬虫从入门到精通》055-Scrapy_Redis分布式爬虫(安装Redis数据库)

在之前的篇章中,我们已经掌握了 Scrapy 的基础应用和进阶技巧,而本篇文章将带领大家进入分布式爬虫的世界,重点讲解如何使用Scrapy 和 Redis搭建一个分布式爬虫系统。在爬虫开发中,当数据量变得庞大或者需要高效地抓取多个网站时,单一的爬虫往往会遇到性能瓶颈和资源限制。此时,分布式爬虫系统能够帮助我们更好地进行任务的分发、管理和调度。而 Redis,作为一种高效的内存数据库,非常适合用于分布式爬虫的数据存储和任务队列管理。在本篇文章中,我们将首先介绍如何安装和配置Redis 数据库。

愚公智库 10万+

unity打包流程整理-Windows/Mac/Linux平台

1.Platform(平台)功能: 选择目标构建的目标平台选项PC, Mac & Linux Standalone: 适用于 Windows、Mac 和 Linux 平台2.Target Platform(目标平台)功能: 选择具体的操作系统版本选项Windows: 针对 Windows 操作系统Mac: 针对 macOS 操作系统Linux: 针对 Linux 操作系统3.Architecture(架构)功能: 选择应用程序的目标处理器架构选项x86: 针对 32 位系统。

weixin_42333247的博客 5136

01 爬虫_环境搭建

1

ICMPARP的博客 822

matinal:SAP 采购中形成的差异

如果库存足够会影响到物料。

matinal 當冬夜漸暖 。公众号:matinal 820

Qt 国产嵌入式操作系统实现文字转语音功能(ekho库)

Qt 国产嵌入式操作系统实现文字转语音功能(TTS)_tts驱动 转文字-优快云博客在继上篇文章之后,甲方粑粑不满意使用eSpeak发出的声音太难听了,这就不得不找个替代品,声音稍微好听了一些。使用ekho开源库。Ekho(余音)是一个免费、开源的中文语音合成软件。它目前支持粤语、普通话(国语)、诏安客语、藏语、雅言(中国古代通用语)和韩语(试验中),英文则通过Festival间接实现。Ekho支持Linux、Windows和Android平台。

希望能帮助大家,希望大家多多支持,你们的支持是我前进的动力。 2754

scrapy-redis分布式爬虫框架详解

scrapy-redis分布式爬虫框架详解 随着互联网技术的发展与应用的普及,网络作为信息的载体,已经成为社会大众参与社会生活的一种重要信息渠道。由于互联网是开放的,每个人都可以在网络上发表信息,内容涉及各个方面。小到心情日志,大到国家大事。 互联网已成为思想文化信息的集散地,并具有传统媒体无法相比的优势:便捷性,虚拟性,互动性,多元性。网络新闻热点通常形成迅速,多是人们对于日常生活中的各种问题发...

Harrytsz的博客 1886

<IBM AIX> 《HACMP 实用手册和命令 HA切换手册》 - 鸿篇巨制,全网最全

操作命令检查磁盘预留策略要将磁盘预留策略更改为 no_reserve集群状态实用程序查看集群状态是否正常SMIT System Management (C-SPOC)Cluster ServicesShow Cluster Services 面板上的选项或 lssrc 命令查看资源组、资源组对应的VG、资源组对应的APPLICATION SERVER# ./cldispsmit常用命令F3退出F4列表Esc+6或者F6查看命令Esc+7或者F7选择多项检查状态。

Else 的博客 3363

scrapy-redis实现分布式爬虫详解

scrapy-redis分布式爬虫框架详解 随着互联网技术的发展与应用的普及,网络作为信息的载体,已经成为社会大众参与社会生活的一种重要信息渠道。由于互联网是开放的,每个人都可以在网络上发表信息,内容涉及各个方面。小到心情日志,大到国家大事。 互联网已成为思想文化信息的集散地,并具有传统媒体无法相比的优势:便捷性,虚拟性,互动性,多元性。网络新闻热点通常形成迅速,多是人们对于日常生活中的各种问题发...

qq_43706512的博客 1433

javafx结合Scene Builder自定义fxml实现漂亮的登录界面、自定义最小化、关闭按钮

本节主要介绍了如何结合Scene Builder工具来制作一个好看又漂亮的登录界面,以及介绍了如何在程序中调用生成界面文件fxml文件,如何获取到fxml文件中的组件等,并演示登录、最小化和关闭等功能。

c1007857613的专栏 5222

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

上一篇: scrapy 抓取动态数据---以淘宝为例
下一篇: 邮件发送---以163/qq邮箱为例
想不到叫啥好
博客等级 码龄8年 7粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值