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

Posted caimouse

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了爬虫日记(95):Twisted开发异步程序基础相关的知识,希望对你有一定的参考价值。

前面测试过多台服务器的情况下,如果使用同步客户端程序来下载,就会比较慢,要等一个服务器完成了才能下载另外一个文件,后面采用异步的客户端就比较快,可以与三台服务器同步进行下载。由于是客户端程序里自己使用select函数来实现的,只能专注于网络socket的事件,如果要使用到别的应用程序就不行了,所以twisted把这种方式进行抽象,进行封装,就可以应用到别的应用程序。接着下来将学会使用twisted来编写异步的下载诗歌的应用程序,在这之前先来学会最简单的twisted的写法,如下:

from twisted.internet import reactor

reactor.run()

最简单的程序只要两行就可以运行了,第一行是从twisted库里导入reactor对象,这个对象只能导入,而不能创建,并且它是每一个应用程序里唯一的,单体化的。然后接着让reactor调用run函数,就可以启动twisted的事件循环了。

这个程序会一直运行下去,要么你杀掉这个终端,要么按下Ctrl + C的按键才可以停止这个程序运行。

以上是关于爬虫日记(95):Twisted开发异步程序基础的主要内容,如果未能解决你的问题,请参考以下文章

爬虫日记(105):Twisted:怎么样处理一个函数同步代码返回和异步对象返回

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

爬虫日记(99):Twisted的Deferred重新审视

爬虫日记(107):Twisted:使用生成器构造回调函数

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

爬虫日记(106):Twisted:单元测试怎么样编写