爬虫日记(97):Twisted的更高级的抽象层

Posted caimouse

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了爬虫日记(97):Twisted的更高级的抽象层相关的知识,希望对你有一定的参考价值。

前面使用学习了下载诗歌的客户端程序,不过使用的是底层的网络socket来实现,这是一个可行的方案,不过使用此方案需要自己注意更多的细节,还需要适应不同的平台,这些都是麻烦人的事情。为了解决这个问题,我们应该尽量使用twisted的更高级的抽象层,这样才可以让代码写得更少,让代码写得更稳定,让代码更加复用,让代码更加明白。今天就来研究一下怎么样来解决这个问题。

前面也使用了对象来进行回调,这时引入了接口,只要实现相应的接口,就可以让twisted调用你的对象。因此接口是twisted的抽象层表现,后面会要求使用越来越多的接口。为了不需要自己去创建socket,我们需要使用twisted的提供的传输层接口。接着下来,需要了解下面三个概念:传输层(Transports), 协议层(Protocols), 和 协议工厂(Protocol Factories)。

传输层(Transports)

在twisted中的传输层抽象的接口为ITransport,定义如下:

以上是关于爬虫日记(97):Twisted的更高级的抽象层的主要内容,如果未能解决你的问题,请参考以下文章

爬虫日记(95):Twisted开发异步程序基础

爬虫日记(81):Twisted的线程池使用

爬虫日记(79):Twisted的延时机制

爬虫日记(82):Twisted的线程返回值

爬虫日记(80):Twisted的循环任务

爬虫日记(93):Twisted的设计模型