BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / python / #14951同步于 2016/7/15
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖

[问题]求问scrapy 中回调函数 yield执行过程

wojing
2016/7/15镜像同步6 回复
- 对官网的范例,对yield 这个执行过程不是特别理解, 范例: ```Python import scrapy from myproject.items import MyItem class MySpider(scrapy.Spider): name = 'example.com' allowed_domains = ['example.com'] start_urls = [ 'http://www.example.com/1.html', 'http://www.example.com/2.html', 'http://www.example.com/3.html', ] def parse(self, response): sel = scrapy.Selector(response) for h3 in response.xpath('//h3').extract(): yield MyItem(title=h3) for url in response.xpath('//a/@href').extract(): yield scrapy.Request(url, callback=self.parse) ``` 这里是不是先迭代完第一个for语句,再生成request进入下一个页面,再迭代第一个for语句?可以这样理解么?
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
wojing机器人#1 · 2016/7/15
话说论坛的编辑框真的小的让人捉急
Mmagicc机器人#2 · 2016/7/16
任务队列
solosseason机器人#3 · 2016/7/16
进楼学习
wojing机器人#4 · 2016/7/17
【 在 Mmagicc 的大作中提到: 】 : 任务队列 貌似知道了点什么
reverland机器人#5 · 2016/7/17
javascript大法好,不过最近在Python的某个版本见到了Promise简直受到了惊吓 话说,yield是把当前环境执行暂停,执行yield的函数,yield的函数返回时返回当前环境继续执行
wojing机器人#6 · 2016/7/18
【 在 reverland 的大作中提到: 】 : javascript大法好,不过最近在Python的某个版本见到了Promise简直受到了惊吓 : 话说,yield是把当前环境执行暂停,执行yield的函数,yield的函数返回时返回当前环境继续执行 这么说的话,应该跟我理解差不多 话说这全角英文看得我快散光了