采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
程序中使用了yeild,既然scrapy是单线程异步IO框架,那么相对于直接把Request放入list中一起返回,有什么优势呢?我理解每次发起Request请求后,会接着去执行回调函数,如parse_detail。
不是这样的, yield request是立马将request提交给scrapy的engine去下载,但是提交后去了 yield request之后的代码会继续执行,至于什么时候执行parse_detail会等到request下载完成后执行的,所以两边可以理解为并发执行
非常感谢!
意思是说把request提交给scrapy engine 处理,这个处理的过程是同步的吗,但是我理解的诸如网络请求不应该是异步的么,js的事件循环处理网络请求也是有专门的任务队列的呀
是异步的,交给engine的过程是同步的,只有使用了网络请求的时候才会异步的,比如你要开始请求url了这个过程就是异步的
登录后可查看更多问答,登录/注册
带你彻底掌握Scrapy,用Django+Elasticsearch搭建搜索引擎
4.8k 30
2.5k 18
1.1k 18
1.4k 15
2.8k 15