




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Python网络爬虫第五单元爬虫优化策略教学概述概述
为了提升网络爬虫的稳定性,我们往往会在基础爬虫程序中做一些优化策略,比如:
设置下载延迟;
优化Cookie存储;
优化User-Agent;
使用IP代理池;
模拟用户行为等。优化网络爬虫程序不仅仅是要提升网络爬虫的稳定性,另一个优化策略就是提升网络爬虫的效率。在第四部分我们已经就反爬虫策略对应的稳定性策略做了处理,本次内容主要讲解通过Scrapy和Redis结合提高网络爬虫的效率,并处理重复请求的自动过滤。第五单元爬虫优化策略分布式爬取电影数据01情境一:分布式爬取电影数据01030204情境概述知识准备案例讲解总结PART01情境概述情境一:分布式爬取电影数据情境概述学习情境描述教学情境描述:在已有网络爬虫知识和技术的基础上,通过Redis数据源或目标数据存储,完成自动去重;将Redis和Scrapy结合,将多层级批量数据采集程序切换成分布式爬虫程序,并进行异步网络请求,提高网络爬虫的效率。关键知识点:Redis库环境管理;Redis数据存储。关键技能点:Redis存储数据。情境一:分布式爬取电影数据情境概述本节课的学习目标理解Scrapy网络爬虫框架及原理。掌握Scrapy项目系统配置及爬虫策略配置。掌握本地Redis的安装配置。掌握Python模块库(Redis等)安装管理应用。能根据实际网页源,分析网络爬虫请求限制。能使用Scrapy+Redis进行分布式数据采集工作。能使用XPath规范格式化文档并获取目标数据。能使用PyMySQL完成MySQL结构化数据存储。情境一:分布式爬取电影数据情境概述本节课的任务书安装配置Redis本地环境。安装管理Redis库。完成Scrapy和Redis项目整合。完成Scrapy+Redis分布式数据采集。情境一:分布式爬取电影数据PART02知识准备情境一:分布式爬取电影数据知识准备引导问题都有哪些方式可以优化网络爬虫程序?了解什么是分布式爬虫,分布式爬虫为什么能优化网络爬虫程序?Redis框架体系结构及原理是什么?Scrapy和Redis如何组合构建网络爬虫程序?情境一:分布式爬取电影数据知识准备知识点介绍ScrapyRedis情境一:分布式爬取电影数据知识准备Redis情境一:分布式爬取电影数据Redis介绍Redis是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。它支持多种类型的数据结构,如字符串(strings),散列(hashes),列表(lists),集合(sets),有序集合(sortedsets)与范围查询,bitmaps,hyperloglogs和地理空间(geospatial)索引半径查询。Redis内置了复制(replication),LUA脚本(Luascripting),LRU驱动事件(LRUeviction),事务(transactions)和不同级别的磁盘持久化(persistence),并通过Redis哨兵(Sentinel)和自动分区(Cluster)提供高可用性(highavailability)。Redis是一个开源的使用ANSIC语言编写、遵守BSD协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的API。知识准备Redis安装与配置情境一:分布式爬取电影数据下载软件
在Github上查找RedisWindows平台编译版本,当前最新稳定版为5.0.10,地址为:安装软件运行下载的Redis安装包:Redis-x64-5.0.10.msi,选定安装地址,默认安装即可。安装过程如下:/tporadowski/redis/releases案例讲解情境一:分布式爬取电影数据知识准备
情境一:分布式爬取电影数据验证安装验证Redis安装,在CMD中启动Redis服务。效果如图:知识准备
情境一:分布式爬取电影数据Redis配置在安装Redis过程中,有选项选择是否将Redis安装路径添加到系统环境中,若未选择,则将其添加在Path下。效果如图:知识准备Redis命令情境一:分布式爬取电影数据redis-cli
redis-cli命令指的是Redis安装目录下的redis-cli.exe文件,此命令用于在Redis服务上执行操作,而要在redis服务上执行命令需要一个redis客户端。
Redis客户端的基本语法为:redis-cli[-hhost][-pport][-apassword]知识准备情境一:分布式爬取电影数据Keys命令组Keys中的命令用于管理redis键。命令的基本语法为:RedisKeys命令组的基本命令:COMMANDKEY[OPTION]知识准备
情境一:分布式爬取电影数据知识准备情境一:分布式爬取电影数据ListsRedis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边),一个列表最多可以包含232
-1个元素。RedisLists命令组的基本命令:知识准备情境一:分布式爬取电影数据StringsRedis字符串数据类型的相关命令用于管理redis字符串值。RedisStrings命令组的基本命令:知识准备Python中使用Redis情境一:分布式爬取电影数据安装Redis库连接RedisPython连接Redis可以通过redis库的Redis()函数,也可以通过ConnectionPool()线程池的方式。连接Redis语法如下:pipinstallredisredis.Redis(host:str='localhost',port:int=6379,db:int=0,password:Any=None,socket_timeout:Any=None,socket_connect_timeout:Any=None,socket_keepalive:Any=None,socket_keepalive_options:Any=None,connection_pool:Any=None,unix_socket_path:Any=None,encoding:str='utf-8',encoding_errors:str='strict',charset:Any=None,errors:Any=None,decode_responses:bool=False,retry_on_timeout:bool=False,ssl:bool=False,ssl_keyfile:Any=None,ssl_certfile:Any=None,ssl_cert_reqs:str='required',ssl_ca_certs:Any=None,ssl_check_hostname:bool=False,max_connections:Any=None,single_connection_client:bool=False,health_check_interval:int=0,client_name:Any=None,username:Any=None)知识准备
情境一:分布式爬取电影数据Setset()函数是为指定key设置指定value,做数据存储。语法如下:也可以调用mset()一次性设置多个值。Getget()函数是获取指定key对应存储的值,若key不存在,返回None。语法如下:也可以调用mget()一次性获取多个值。pipinstallredismset(*args,**kwargs)get(name)mget(keys,*args)PART03案例讲解情境一:分布式爬取电影数据案例讲解分布式爬取电影数据情境一:分布式爬取电影数据开发步骤:确定数据源确定目标数据安装环境构建项目编写数据采集程序运行程序效果截图案例讲解分布式爬取电影数据情境
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 租赁商场场地合同
- 公司员工激励演讲稿
- 养老护理行业老年人照护需求评估
- 肉羊养殖购销合同
- 生物医药领域新药研发投资合同
- 有关个人向公司借款协议书
- 城市道路施工安全管理规定
- 好品质故事解读
- 电影制作公司演员拍摄安全协议
- 2025年汉语拼音yw助力企业营销策略分析
- (高清版)JTG 3363-2019 公路桥涵地基与基础设计规范
- 周志华-机器学习-Chap01绪论-课件
- 中石油加油站管理标准规范管理部分
- 高中雷雨完整省公开课金奖全国赛课一等奖微课获奖课件
- 施工现场安全标准化施工手册(汇编)
- 《串珠》教案-2024鲜版
- 药物超敏反应综合征并人类免疫缺陷病毒感染1例及文献复习
- 经济数学(高等职业)全套教学课件
- 口腔种植学试题
- 网络传播概论(彭兰第5版) 课件全套 第1-8章 网络媒介的演变-网络传播中的“数字鸿沟”
- 口服止痛药物健康宣教
评论
0/150
提交评论