永发信息网

scrapy使用yield返回Request的步骤是怎么样的

答案:1  悬赏:50  手机版
解决时间 2021-01-28 13:26
  • 提问者网友:练爱
  • 2021-01-27 18:54
scrapy使用yield返回Request的步骤是怎么样的
最佳答案
  • 五星知识达人网友:摆渡翁
  • 2021-01-27 20:21
不用yield写一次parse方法你就明白了:
def parse(self, response):
result_list = []
for h3 in response.xpath("//h3").extract():
result_list.append(MyItem(title=h3)
for url in response.xpath("//a/@href").extract():
result_list.append(scrapy.Request(url, callback=self.parse))
return result_list
区别在于用了yield的函数会返回一个生成器,生成器不会一次把所有值全部返回给你,而是你每调用一次next返回一个值。
如果你想了解生成器和迭代器,可以去看相关文档。
它们的用法很简单:
for item in list:
process(item)
for item in iterator:
process(item)
for item in generator:
process(item)
Python会帮你处理内部细节,你只管用就行了。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯