Scrapy只返回1项,我的大脑STUCK

时间:2017-03-13 10:58:32

标签: python scrapy

这里是spider.py:

import scrapy
from scrapy.loader import ItemLoader
from dts.items import DtItem

class dtSpider(scrapy.Spider):
    name = 'dts'
    urls = ['s','s','s','s']

    def start_requests(self):
        for url in self.urls:
            yield scrapy.Request(url, callback=self.parse)

    def parse(self,response):
        for title in response.xpath('//h2/a/@title').extract()[:-6]:
            url_array = response.url.split('/')
            author = url_array[url_array.index('author')+1]
            l = ItemLoader(item=DtItem(), response=response)
            l.add_value('title',title)
            l.add_value('author',author)
            return l.load_item()

我写这篇文章只是为了获得标题。 但是,为什么我不能获得所有头衔? Scrapy每页只返回1项。

1 个答案:

答案 0 :(得分:2)

变化:

return l.load_item()

为:

yield l.load_item()

return将停止该功能,但yield将继续运行。