爬虫篇 --- 分布式爬虫
What is 分布式,爬虫?
使用多台机器组成一个分布式的机群,在机群中运行同一组程序。进行联合数据的爬取 !
Scrapy怎么实现分布式?
原生Scrapy是无法实现分布式的 !
Reason:
- 原生scrapy中的调度器无法共享,
- 原生scrapy中的管道不可以被共享
Solution:
- 必须使用scrapy-redis(模块)
- 该模块可以 给原生的scrapy提供共享的管道和调度器
- pip install scrapy-redis
搭建流程:
1. 创建工程 2. 爬虫文件 3. 将当前爬虫文件的父类修改为 RedisCrawlSpider 4. # allowed_domain 和起始url不再需要,删除 ,然后创建调度器队列名称 redis_key` 5. 数据解析,将解析的数据封装到Item中然后向管道提交。 6. settings.py中重新配置- 指定管道 : """ITEM_PIPELINES = {'scrapy_redis.pipelines.RedisPipeline': 400}"""- 指定调度器: """# 使用scrapy-redis组件的去重队列DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"# 使用scrapy-redis组件自己的调度器SCHEDULER = "scrapy_redis.scheduler.Scheduler"# 是否允许暂停SCHEDULER_PERSIST = True"""- 指定具体的redis : """REDIS_HOST = 'redis服务的ip地址'REDIS_PORT = 6379REDIS_ENCODING = ‘utf-8’REDIS_PARAMS = {‘password’:’123456’}""" 7. 开启redis服务:- redis.windows.conf 取消默认绑定 "127.0.0.1" ;关闭保护模式- redis-server- redis-cli 8.运行爬虫文件: scrapy runspider SpiderFile.py 9. 向调度器队列中扔入一个起始url(在redis客户端中操作):lpush redis_key属性值 起始url
转载于:https://www.cnblogs.com/CrazySheldon1/p/10838543.html
爬虫篇 --- 分布式爬虫相关推荐
- Java 多线程爬虫及分布式爬虫架构探索
维护待采集的 URL 多线程爬虫程序就不能像单线程那样,每个线程独自维护这自己的待采集 URL,如果这样的话,那么每个线程采集的网页将是一样的,你这就不是多线程采集啦,你这是将一个页面采集的多次.基于 ...
- java多线程爬虫_Java 多线程爬虫及分布式爬虫架构
在这个时间就是金钱的年代,不可能给你时间去慢慢的采集,所以单线程爬虫程序是行不通的,我们需要将单线程改成多线程的模式,来提升采集效率和提高计算机利用率.维护待采集的 URL多线程爬虫程序就不能像单线程 ...
- java 爬虫_探索Java 多线程爬虫及分布式爬虫架构
在我们调试爬虫程序的时候,单线程爬虫没什么问题,但是当我们在线上环境使用单线程爬虫程序去采集网页时,单线程就暴露出了两个致命的问题: 采集效率特别慢,单线程之间都是串行的,下一个执行动作需要等上一个执 ...
- dubbo源码深度解析_scrapy框架通用爬虫、深度爬虫、分布式爬虫、分布式深度爬虫,源码解析及应用
scrapy框架是爬虫界最为强大的框架,没有之一,它的强大在于它的高可扩展性和低耦合,使使用者能够轻松的实现更改和补充. 其中内置三种爬虫主程序模板,scrapy.Spider.RedisSpider ...
- 【文智背后的奥秘】系列篇——分布式爬虫之WebKit
2019独角兽企业重金招聘Python工程师标准>>> 版权声明:本文由文智原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/communit ...
- python爬虫要安装什么_python爬虫之分布式爬虫和部署
分布式爬虫:爬虫共用同一个爬虫程序,即把同一个爬虫程序同时部署到多台电脑上运行,这样可以提高爬虫速度. 在默认情况下,scrapy爬虫是单机爬虫,只能在一台电脑上运行,因为爬虫调度器当中的队列queu ...
- python虚拟机分布式爬虫_分布式爬虫实战
一.环境搭建 由于条件有限,一台虚拟机,一台笔记本. 在虚拟机上装上mongodb数据库.redis数据库.redis_scrapy.pymongo.scrapyd 在本地电脑上装上monodb数据库 ...
- 增量式爬虫与分布式爬虫
文章目录 1.redis的安装 2.基于crawlSpider的全站数据爬取 3.分布式 4.增量式 5.scrapy提高数据爬取效率 6.虚拟环境 1.redis的安装 1.将安装包解压到一个文件夹 ...
- Python 三.创建第一个scrapy爬虫项目(分布式爬虫打造搜索引擎)
1.安装pywin32 打开cmd窗口 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pywin32 2.安装Twisted网络数据处 ...
最新文章
- angular.isUndefined()
- Hanlp分词实例:Java实现TFIDF算法
- linux 内核 netfilter 网络过滤模块 (1)-框架
- html <link>标签
- JavaFX技巧30:带有DropShadow的ScrollPane
- STM32H743+CubeMX-解决FDCAN控制器无法接收远程帧
- 华科计算机学院三好学生,他是华科“三好学生标兵”,被保研到北大、复旦、交大等3所名校!...
- android x86 sleep,如何打开Android X86对houdini的支持
- Webx MVC分析
- Android Studio 下载安装教程
- ogg格式怎么转换为mp3?
- git 下载指定历史版本
- 最小二乘支持向量机——LSSVM
- 苹果CMSv10系统标签,仿站必备
- 视觉分类任务中,Confusion Matrix (混淆矩阵) 的绘制
- 【论文笔记】多时相遥感影像变化检测方法综述
- xmind文件不见了处理方法
- 【微信小程序】生命周期
- juyter显示决策树图形_在Jupyter Noteb中绘制交互式决策树
- 注重医院患者院后随访提高医疗质量