《精通Python爬虫框架Scrapy》第8章 Scrapy编程

本文详细介绍了Scrapy框架的编程原理,特别是其基于Twisted事件驱动架构,强调了异步I/O在提高性能和并发性方面的优势。通过示例展示了延迟和延迟链的概念,解释了非阻塞I/O如何通过回调和生成器简化编程。此外,文章还概述了Scrapy的架构,包括爬虫、Item管道、下载器中间件和扩展,并讨论了信号机制及其在Scrapy中的应用。最后,通过两个示例展示了如何使用Item管道处理数据和利用信号进行性能监测。
摘要由CSDN通过智能技术生成

到目前为止,我们编写的爬虫主要用于定义爬取数据源的方式以及如何从中抽取信息。除了爬虫外,Scrapy还提供了能够调整其大多数方面功能的机制。比如,你可能会发现自己经常在处理如下的一些问题。

1.你需要从同一个项目的其他爬虫中复制、粘贴大量代码。重复的代码与数据更加相关(比如,执行字段计算),而不是数据源。

2.你需要编写脚本,对Item进行后处理,执行像删除重复条目或后置处理值的事情。

3.你在不同的项目中有重复的代码,用于处理基础架构。比如,你可能需要登录并向专有仓库传输文件,向数据库中添加Item或在爬虫执行完成时触发后置处理操作。

4.你发现Scrapy的某个方面与你希望的功能并不完全一致,你想在自己的大部分项目中使用自定义或变通的方案。

Scrapy开发者所设计的架构,能够为我们解决这些常见的问题。我们将会在本章后续部分研究该架构。不过我们首先介绍支持Scrapy的引擎,该引擎叫作Twisted

Scrapy是一个内置使用了Python的Twisted框架的抓取应用。Twisted确实有些与众不同,因为它是事件驱动的&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

人民邮电出版社有限公司

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值