【发布时间】:2021-09-10 08:15:37
【问题描述】:
我对 Scrapy 还很陌生,只是想知道为什么我不能使用多个 yield 语句?
import scrapy
class CourseSpider(scrapy.Spider):
name = 'course'
start_urls = ['link.example']
def parse(self, response):
syllabus = response.css('div#course_syllabus')
title = response.css('title::text').get()
image = syllabus.css('img::attr(src)').get()
image_desc = syllabus.css('p::text')[1].get()
desc = syllabus.css('p::text')[10].get()
for i in (title, image, image_desc):
yield {'course' : i}
yield {'course_overview' : desc}
因此,当输出到 CSV 文件时,我得到了包含标题、图像和 image_desc 值的“课程”列,但是它根本没有将“课程概览”列添加到 csv 中。我只需要 1 个值,所以没有将它包含在 for 循环中。有人能帮我吗?谢谢。
【问题讨论】:
标签: python python-3.x scrapy yield