




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Middlewares——中间件Middlewares—中间件scrapy中间件Middlewares—中间件根据其程序执行流程位置不同分为两类:(介于引擎与下载器之间)下载中间件(介于引擎与爬虫组件之间)爬虫中间件Middlewares—中间件中间件位于同一个middlewares.py文件之中:下载中间件下载中间件作用:对request对象进行设置随机请求头、IP代理、Cookie等1判断response对象的状态码,来决定是否将response提交给引擎2下载中间件process_request方法用来处理正常的请求对象的数据,每个request通过下载中间件时被调用process_request(self,request,spider)request要处理的Request对象spider该request对应的Spider对象参数如下:下载中间件process_response方法用于对response进行处理,下载器完成http请求,传递响应给引擎的时候调用process_response(self,request,response,spider)request表示response所对应的requestresponse表示被处理的response参数如下:spider表示response所对应的spider下载中间件process_exception方法用来处理抛异常的请求对象的数据process_exception(self,request,exception,spider)request表示response所对应的requestexception表示抛出的异常参数如下:spider表示response所对应的spider下载中间件案例:middlewares.py,代码如下:classRandomUserAgent(object):defprocess_request(self,request,spider):useragent=random.choice(USER_AGENTS)request.headers.setdefault("User-Agent",useragent)下载中间件案例:settings.py,代码如下:USER_AGENTS=["Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1;SV1;AcooBrowser;.NETCLR1.1.4322;.NETCLR2.0.50727)","Mozilla/4.0(compatible;MSIE7.0;WindowsNT6.0;AcooBrowser;SLCC1;.NETCLR2.0.50727;MediaCenterPC5.0;.NETCLR3.0.04506)","Mozilla/4.0(compatible;MSIE7.0;AOL9.5;AOLBuild4337.35;WindowsNT5.1;.NETCLR1.1.4322;.NETCLR2.0.50727)","Mozilla/5.0(Windows;U;MSIE9.0;WindowsNT9.0;en-US)","Mozilla/5.0(compatible;MSIE9.0;WindowsNT6.1;Win64;x64;Trident/5.0;.NETCLR3.5.30729;.NETCLR3.0.30729;.NETCLR2.0.50727;MediaCenterPC6.0)","Mozilla/5.0(compatible;MSIE8.0;WindowsNT6.0;Trident/4.0;WOW64;Trident/4.0;SLCC2;.NETCLR2.0.50727;.NETCLR3.5.30729;.NETCLR3.0.30729;.NETCLR1.0.3705;.NETCLR1.1.4322)","Mozilla/4.0(compatible;MSIE7.0b;WindowsNT5.2;.NETCLR1.1.4322;.NETCLR2.0.50727;InfoPath.2;.NETCLR3.0.04506.30)","Mozilla/5.0(Windows;U;WindowsNT5.1;zh-CN)AppleWebKit/523.15(KHTML,likeGecko,Safari/419.3)Arora/0.3(Change:287c9dfb30)","Mozilla/5.0(X11;U;Linux;en-US)AppleWebKit/527+(KHTML,likeGecko,Safari/419.3)Arora/0.6“]下载中间件设置settings.py中的DOWNLOADER_MIDDLEWARES,取消注释:DOWNLOADER_MIDDLEWARES={'mySpider.middlewares.MyspiderDownloaderMiddleware':543,}COOKIES_ENABLED=False案例:禁用cookies以防止某些网站根据Cookie来封锁爬虫下载中间件设置成功后,运行爬虫就会发现请求头设置成功请求发送给服务器之前下载中间件随机选择一个请求头,就可以避免总使用一个请求头防止爬虫被服务器发现爬虫中间件爬虫中间件爬虫中间件作用:1在Response发送给Spider之前,对Response进行处理2在Request发送给Scheduler之前,对Request进行处理3在Item发送给ItemPipeline之前,对Item进行处理爬虫中间件自带了许多SpiderMiddleware爬虫中间件SPIDER_MIDDLEWARES_BASE变量的内容如下:'scrapy.spidermiddlewares.httperror.HttpErrorMiddleware':50,'scrapy.spidermiddlewares.offsite.OffsiteMiddleware':500,'scrapy.spidermiddlewares.referer.RefererMiddleware':700,'scrapy.spidermiddlewares.urllength.UrllengthMiddleware':800,'scrapy.spidermiddlewares.depth.DepthMiddleware':900,SPIDER_MIDDLEWARES={'mySpider.middlewares.MyspiderSpiderMiddleware':543,}爬虫中间件自带了许多SpiderMiddleware爬虫中间件process_spider_input方法当Response被爬虫中间件处理时被调用。返回结果是:None或者抛出一个异常process_spider_input(response,spider)response被处理的Response对象spider该Response对应的Spider参数如下:爬虫中间件process_spider_output方法当Spider处理Response返回结果时,该方法被调用process_spider_output(response,result,spider)response生成该输出的ResponseresultSpider返回的结果参数如下:spider其结果对应的Spider爬虫中间件process_spider_exception方法当process_spider_input方法抛出异常时被调用process_spider_exception(response,exception,spider)爬虫中间件process_start_r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年消费者行为变化与风险试题及答案
- 网络安全监测与分析试题与答案
- 2025年VB考试内容全面分析与试题
- 行政法学完整试题与答案分享
- 战略执行中的合规性风险管理对策试题及答案
- 信息处理行业标准化的必要性试题及答案
- 【成都】2025年上半年成都市住房和城乡建设局所属6家事业单位招聘工作人员13人笔试历年典型考题及考点剖析附带答案详解
- 2025商业办公装修合同范本汇编
- 高考数学中低档题型解析试题及答案
- 编程技术的发展和未来展望试题及答案
- 《非暴力沟通》:心理学沟通技巧
- GB/T 23150-2024热水器用管状加热器
- 新版加油站安全操作规程
- 时政述评巴以冲突课件-2024届高考政治一轮复习
- 三级综合医院评审标准(2024年版)
- 餐厅服务员(初级)职业鉴定理论考试题及答案
- 国有企业外派董监事、高管人员管理办法
- 2024年时事政治题库及参考答案(100题)
- 《汽车构造》期末考试复习题库(含答案)
- DB3301-T 0222-2024 国际化医院建设规范
- 《念奴娇·过洞庭》《赤壁赋》联读教学设计 2023-2024学年统编版高中语文必修下册
评论
0/150
提交评论