11 单任务版爬虫实现思路分析

467 未经授权,禁止转载了解课程

试看结束,购买课程后可继续观看

试看结束,本课程暂不对外售卖

课程介绍
讨论{{interaction.discussNum ? '(' + interaction.discussNum + ')' : ''}}
适合人群
希望学会分布式爬虫的人群
你将会学到
分布式爬虫
课程简介

Ⅰ. 简介

    一. 什么是分布式爬虫:

1. 默认情况下,我们使用scrapy框架进行爬虫时使用的是单机爬虫,就是说它只能在一台电脑上运行,因为爬虫调度器当中的队列queue去重和set集合都只能在本机上创建的,其他电脑无法访问另外一台电脑上的内存和内容。

2. 分布式爬虫实现了多台电脑使用一个共同的爬虫程序,它可以同时将爬虫任务部署到多台电脑上运行,这样可以提高爬虫速度,实现分布式爬虫。


    二. 分布式爬虫的前提:

1. 要保证每一台计算机都能够正常的执行scrapy命令,能够启动爬虫,这是对计算机硬件的zui低水平、计算机系统环境和网络等多方面的基本需求,不再赘述。

2. 要保证所有的爬虫程序可以访问同一个队列一个set集合。


针对第二个条件,需要以下特殊声明:

想要满足第二个条件,我们要使用scrapy_redis。想要保证多台机器共用一个queue队列和set集合,在scrapy框架中,是需要结合scrapy_redis完成的。分布式爬虫可以让所有机器上的爬虫程序,从同一个queue队列中获取request请求,并且每个机器取出request,请求的对象是不一样的,直到所有的request被请求完毕。


    三. 分布式爬虫的适用范围/要求:

1. 分布式爬虫对电脑的性能有一定的要求(特别是处理器,也就是常说的cpu)。

2. 分布式爬虫对网速也有一定的要求 。


注意:电脑性能和网速如果不是很好的话,分布式爬虫效率反而不如单一爬虫。并不是任何时候都可以使用分布式爬虫,如果你需要大规模获取数据,不满足于单一爬虫的效率,而且硬件条件能够得到满足,那么就使用分布式爬虫吧。当然,大部分情况下,由于对硬件有要求,一些刚成立的小公司可能负担不起这样的成本。


    四. 分布式爬虫经常和redis数据库一起使用:

redis数据有几个特点,首先它的优点是:

1. 默认使用持久化数据方式

2. 体积小,使用方便

3. 如果存储数据量比较大的话,启动速度很快

4. 数据库中的数据和内存中的数据可以相互访问

最主要的缺点是:从安全性角度来说,数据持久化可能会容易崩溃,造成数据丢失



展开更多
发布
头像

{{ item.user.nick_name }} {{ EROLE_NAME[item.user.identity] }}

置顶笔记
讨论图
{{ item.create_time }}回复
  • 删除

    是否确认删除?

    确认
    取消
  • {{ item.is_top == 1 ? '取消置顶' : '置顶'}}

    已有置顶的讨论,是否替换已有的置顶?

    确认
    取消
{{ tag.text}}
头像
{{ subitem.user.nick_name }}{{ EROLE_NAME[subitem.user.identity] }}
{{ subitem.create_time }}回复
删除

是否确认删除?

确认
取消
发布
讨论区空空如也,你来讲两句~
发布
{{tips.text}}
{{ noteHeaderTitle }} 笔记{{ hasMyNote ? '我的笔记' : '记笔记' }}
{{ hasMyNote ? '我的笔记' : '记笔记' }}
优质笔记
更新于:{{ $dayjs.formate('YYYY-MM-DD HH:mm:ss', item.last_uptime*1000) }}
头像
{{ detail.username }}

公开笔记对他人可见,有机会被管理员评为“优质笔记”

{{ noteEditor.content.length }}/2000

公开笔记
保存
提问

讲师收到你的提问会尽快为你解答。若选择公开提问,可以获得更多学员的帮助。

记录时间点
记录提问时视频播放的时间点,便于后续查看
公开提问
提交

课程大纲

自动连播
Oracle数据库日常巡检方法华为新版模拟器ENSP_Pro 优缺点介绍Python爬虫:Requests库的基本用法华为S系列交换机忘记Console口密码怎么办掌握这款免费AI动画生成器,你也可以做导演拍短片!【王佩丰】Excel2010基础视频第3讲:查找、替换华为新版模拟器ENSP_Pro安装方法①Excel一个公式搞定所有数据的分类整理10分钟学会Mac OS X Server备份python中的__init__.py文件有什么作用?大数据架构与生态圈01华为S系列交换机忘记Super 密码怎么办华为S系列交换机忘记BootRom密码怎么办轻松理解并熟悉TCP四次挥手状态转换【王佩丰】Excel2010基础视频第1讲:认识Excel 2010MySQL备份恢复12个项目前苏宁副总裁乔新亮:求职者选择一家公司需要关注的是什么?Python处理Excel数据:什么是模块、包、库无人驾驶是怎么呈现的?当项目进展缓慢时如何写一份领导满意的汇报?什么是Power Pivot6分钟get视频监控系统配置方法windows虚拟机操作01-ISO安装WPS表格-Excel实用微技巧IT部门领导最需要"成就业务"的思维开源监控系统中如何进行自动侦测报警VBA视频教程:什么是VBA累④累活卷不过写PPT的?10分钟拿捏套用公司模板的正确姿势华为新版模拟器ENSP_Pro安装方法③双语沉浸式翻译,不光能翻译还能做双语电子书!Python库安装工具为什么目前AI项目失败的非常多?数据分析之电商数据整体任务分析10分钟快速入门微信小程序开发误删数据不用慌,峰哥5分钟教你恢复Linux下误删除数据技术人要跳出自己的思维框架多去思考业务和公司的战略SQL与EXCEL基础Docker介绍两台Linux系统之间如何快速传送文件?10分钟教会你!SphereEx联合创始人推荐给技术人的3本书华为新版模拟器ENSP_Pro安装方法②小新Power BI课程:建立关系51CTO上线短视频功能了-大家可以关注下哦终于把反转单链表搞明白了Python图形用户界面开发工具包MySQL基础知识入门Oracle RAC集群软件安装配置元组常用统计方法Kubernetes/K8s CKA认证学习体系在k8s集群中部署任何代码或者服务的完整流程
该课程为PDU课程
请前往PDU官网查看
我知道了