第9章 管道秘诀
上一章讨论了使用Scrapy中间件的编程技术。本章将通过展示各种常见用例(包括消费REST API、数据库接口、处理CPU密集型任务以及与遗留服务的接口),重点关注编写正确而高效的管道。
在本章中,我们将会使用几个新的服务器,你可以在图9.1的右侧看到这些服务器。

图9.1 本章使用的系统
Vagrant应该已经为我们创建好了这些服务器,我们可以从dev服务器中使用其主机名进行ping操作,例如ping es或ping mysql。话不多说,让我们从REST API开始探索吧。
9.1 使用REST API
REST是一套用于创建现代Web服务的技术,其主要优点是比SOAP或专有Web服务机制更加简单,更加轻量级。软件开发人员观察发现,Web服务经常提供的CRUD(创建、读取、更新、删除[Create、Read、Update、Delete])功能与HTTP基本操作
本文详细介绍了如何在Scrapy爬虫项目中利用管道(Pipelines)处理数据,包括使用REST API(如treq与Elasticsearch集成)、与数据库(如MySQL)交互、利用Google Geocoding API进行地理编码以及在Elasticsearch中启用地理编码索引。此外,还探讨了如何处理CPU密集型任务、使用Redis作为缓存以及与Twisted专用客户端建立服务接口(如与Redis交互)的策略。文章强调了性能优化、限流和错误处理的重要性,以及如何通过线程池处理阻塞任务。
订阅专栏 解锁全文
1678

被折叠的 条评论
为什么被折叠?



