发表评论取消回复
相关阅读
相关 爬虫日记(82):Twisted的线程返回值
前面学习callInThread 和callFromThread函数,callInThread函数允许把一些代码交给其它线程工作,callFromThread函数允许其它线程把
相关 爬虫日记(81):Twisted的线程池使用
为了尽快熟悉scrapy的代码,先来抽取里面的一个循环调度的类出来测试一下,这个类实现对回调函数的封装。整个例子的代码如下: 爬虫日记-蔡军生(qq:9073204)
相关 爬虫日记(80):Twisted的循环任务
前面已经学习了Twisted框架的一些延时机制、延时链、多个延时条件等等,接着下来继续学习Twisted的循环任务,比如scrapy里下载任务失败之后,尝试过一段时间再重试下载
相关 爬虫日记(79):Twisted的延时机制
当我们深入地分析Scrapy的源码时,我们一定会遇到Twisted框架,因为Scrapy是构建在这个框架之上,因此我们是避免不了要了解Twisted框架内容,才能够进一步理解S
相关 爬虫日记(108):Twisted:使用后悔药
有时候有一些操作发送出去了,但是不再需要做,这样就需要使用后悔药。比如前面的诗歌代理服务器,当一个客户端连接过来获取诗歌内容,但是由于服务器下载很慢,但是客户端等不起了,决定关
相关 爬虫日记(107):Twisted:使用生成器构造回调函数
之前我们学习关于装饰器@inlineCallbacks的使用,它可以把生成器函数处理成回调函数,它是根据生成器函数的异步特性来设计的,如下图: ![watermark_typ
相关 爬虫日记(102):Twisted:使用Deferred重构服务器代码
前面实现了一个诗歌下载的服务器,采用socket底层来实现的,这样比较关注底层的细节,并且还是一个阻塞的服务器,这样服务器的性能肯定不会太好。接着下来,重构这个服务器的代码。
相关 爬虫日记(101):Twisted:使用Deferred重构异常代码
我们经常会写同步的代码,并且喜欢使用异常来处理结果,这样的习惯是训练出来的。什么东西都需要等有确定的结果再做下一步,比如下面的异常处理代码: def try\_to\
相关 爬虫日记(99):Twisted的Deferred重新审视
在前面的例子可以看到,回调函数是事件循环框架异步编程的基本方式,只有使用回调函数才能把用户的代码,插入到框架的事件循环里运行,这是所有事件循环框架的基本要求,也是它的基本内容,
相关 爬虫日记(98):Twisted的使用回调更简单
在前面已经学习了使用一个下载诗歌的客户端,而这个客户端使用了传送层、协议、协议工厂类的抽象,这样更加方便框架的抽象能力,适用更多类型的应用。由于前面的例子实现还是有点复杂,可以
还没有评论,来说两句吧...