- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第10章 Scrapy核心组件与CrawlSpider类;学习目标/Target;学习目标/Target;章节概述/ Summary;目录/Contents;目录/Contents;Spiders组件;;Spiders组件是Scrapy框架的核心组件,它定义了网络爬虫抓取网站数据的方式,包括抓取的动作,比如是否跟进链接,以及如何从网页内容中提取结构化数据。换言之,Spiders组件用于定义抓取网页数据的动作及解析网页数据。;10.1 Spiders组件;10.1 Spiders组件;Scrapy框架提供了Spider作为爬虫的基类,自定义的爬虫需要继承这个类。scrapy.Spider类的常用属性和方法。;Item Pipeline组件;;当Item对象在Spiders中被收集之后,会被传递给Item Pipeline组件。Item Pipeline组件的功能代码位于Scrapy项目的pipelines.py文件中,该文件中可以定义多个管道,这些管道会按照定义的顺序依次处理Item对象。;每个管道其实是一个独立的Python类,该类中有3个核心方法:process_item()、open_spider()和close_spider(),其中process_item()方法是必须实现的,其他两个方法是可选实现的。;10.2 Item Pipeline组件;10.2 Item Pipeline组件;10.2 Item Pipeline组件;10.2 Item Pipeline组件;10.2 Item Pipeline组件;10.2 Item Pipeline组件;Downloader Middlewares组件;Downloader Middlewares是下载中间件,它处于引擎和下载器之间,多个下载中间件可以被同时加载运行。下载中间件可以在请求传递给下载器之前对请求进行处理,比如为请求添加请求头,也可以在响应传递给引擎之前对响应进行处理,比如进行gzip的解压。Scrapy中提供了一些内置中间件,我们也可以自定义中间件。;;Scrapy中附带了许多下载中间件,这些中间件被变量DOWNLOADER _MIDDLEWARES_BASE所定义。;10.3.1 内置下载中间件;;10.3.2 自定义下载中间件;;;;process_response()方法返回值有两种情况,分别是Response对象或Request对象,另外可能会抛出一个IgnoreRequest异常。;10.3.2 自定义下载中间件;10.3.2 自定义下载中间件;;如果希望自定义的下载中间件能够应用到程序中,需要激活下载中间件。激活下载中间件只需要将该下载中间件添加到settings.py文件的配置项DOWNLOADER_MIDDLEWARES中。;如果希望禁用某个下载中间件,必须在DOWNLOADER_MIDDLEWARES中定义该下载中间件,并将该下载中间件的值设置为None。;Settings组件;Settings组件用于定制Scrapy中所有组件的行为,包括核心组件、扩展组件、管道以及Spiders组件等。settings.py是Scrapy项目的标准配置文件,该文件是Settings组件应用的地方,用于为Scrapy项目添加或更改配置。;BOT_NAME用于设置使用Scrapy实现的bot名称,也叫项目名称,默认名称为scrapybot。该名称用于构造默认的User-Agent,同时也用于记录日志。
CONCURRENT_ITEMS用于设置Item Pipeline组件可以同时处理每个Response的Item对象的最大值,默认值为100。
CONCURRENT_REQUESTS用于设置下载器可以处理并发请求(concurrent requests)的最大值,默认值为16。
DEFAULT_REQUEST_HEADERS用于设置Request使用的请求头。
DEPTH_LIMIT用于设置抓取网站最大允许的深度(depth)值。默认值为0,表示没有限制。
DOWNLOAD_DELAY用于设置下载器在下载同一网站的下一页面前所需要等待的时间(单位为秒),默认值为0。;DOWNLOAD_TIMEOUT用于设置下载器的超时时间,单位为秒,默认值为180。
ITEM_PIPELINES用于设置管道的调用顺序,它对应的值是一个保存项目中启用的管道及其调用顺序的字典,默认值为空。
LOG_ENABLED用于设置是否启用logging,默认值是True。
LOG_ENCODING用于设置logging使用的编码,默认值是utf-8。
LOG_LEVEL用于设置log的最低级别,它支持的级别取值包括CRITICAL、ERROR、WARNING、INFO、DEBUG,默认值
您可能关注的文档
- 第6章 提升网络爬虫速度.pptx
- 第8章 验证码识别.pptx
- 第11章 分布式网络爬虫Scrapy-Redis.pptx
- 2025年甘肃秦融文化传媒有限公司招聘10人模拟试卷最新.docx
- 2025年广东佛山市三水海江昇平建设工程有限公司招聘企业工作考前自测高频考点模拟试题最新.docx
- 2025广东茂名市信宜市纪委监委选调公务员2人备考题库最新.docx
- 2025年度“黑龙江人才周”齐齐哈尔市铁锋区事业单位公开招聘27人备考题库最新.docx
- 2025年湖南邵阳经开贸易投资有限公司招聘12人备考题库最新.docx
- 2025年浙商银行成都分行社会招聘备考题库最新.docx
- 2025年河北石家庄市公安局新华分局公开招聘公安机关警务辅助人员48人备考题库附答案.docx
- 2025广东中山大涌镇农业服务有限公司招聘勤杂工的招聘2人公模拟试卷附答案解析.docx
- 2025西北工业大学工业设计与人机工效团队科研助理招聘1人备考题库附答案解析.docx
- 2026年中国银行校园招聘备考题库附答案解析.docx
- 2025湖南高速养护工程有限公司招聘劳务派遣员工55人(长笔试备考试题附答案解析.docx
- 2025陕西延安市市直政府系统事业单位选聘94人备考题库附答案解析.docx
- 2025科学技术部新质生产力促进中心高层次专业技术人才招聘3人备考题库附答案解析.docx
- 2025广东韶关市消防救援支队政府专职消防员招聘5人备考题库(第四季度)附答案解析.docx
- 为什么包装一个灵魂成分及一种灵魂技术是化妆品打造一个独一无二的认知世界的关键?.docx
- “攻其不可守,守其不可攻”的战略思想,如何深度应用到商战之中?.docx
- 用欧赛斯引擎增长战略的 “针尖刃” 与 “四飞轮” 方法论深度拆解山下有松品牌如何撕开市场缺口,刺穿用户心智?.docx
原创力文档


文档评论(0)