爬虫日记(100):Twisted:使用Deferred重构回调函数管理

Posted caimouse

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了爬虫日记(100):Twisted:使用Deferred重构回调函数管理相关的知识,希望对你有一定的参考价值。

前面的例子可以看到下载诗歌的例子里,使用回调函数来进行实现客户端的代码,这样需要传送两上回调函数进去,接着下来我们使用已经学习的Deferred类来管理回调函数,就不必要传送回调函数了,这样让代码更加简单,并且容易管理。

例子如下:

# This is the Twisted Get Poetry Now! client, version 4.0

import optparse, sys

from twisted.internet import defer
from twisted.internet.protocol import Protocol, ClientFactory


def parse_args():
    usage = """usage: %prog [options] [hostname]:port ...

This is the Get Poetry Now! client, Twisted version 4.0
Run it like this:

  python get-poetry.py port1 port2 port3 ...

If you are in the base directory of the twisted-intro package,
you could run it like this:

  python twisted-client-4/get-poetry.py 10001 10002 10003

to grab poetry from servers on ports 10001, 10002, and 10003.

Of course, there need to be servers listening on those ports
for that to work.

以上是关于爬虫日记(100):Twisted:使用Deferred重构回调函数管理的主要内容,如果未能解决你的问题,请参考以下文章

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

爬虫日记(98):Twisted的使用回调更简单

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

爬虫日记(108):Twisted:使用后悔药

爬虫日记(101):Twisted:使用Deferred重构异常代码

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