return self._values[key] exception.KeyError: Python

return self._values[key] exception.KeyError: Python

    import scrapy
    from scrapy.spider import Spider
    from scrapy.selector import Selector
    from scrapy.http import Request
    from scrapy import Item, Field


    class NItems(Item):

      creat = Field()


    class NSpider(Spider):

      def parse(self,response):

        item = NItems()
        for da in response.xpath('//div[@class="section-stream-content"]'):

          item['link'] = da.xpath('//tr/td[2]/div[1]/h2/a/@href').extract()

          for con in item['link']:

            request = scrapy.Request(con, callback = self.parseDate)
            request.meta['item'] = item
            yield request

      def parseDate(self, response):

        item = response.meta['item']

        hxs = Selector(response)

        cr = hxs.xpath('//*[@class="byline"]/text() | //*[@id="yui_3_16_0_1_1428166780085_527"]/text() | //div[@class="metadata"]/p/strong/text() | //p[@class="update-time"]/text() | //p[@class="publisheddate"]/text() | //p[@class="date"]/text() | //div[@class="last_updated"]/p/a/text()').extract()

        item['creat'].append(cr)   

        cr = hxs.xpath('//*[@class="byline"]/text() | //*[@id="yui_3_16_0_1_1428166780085_527"]/text() | //div[@class="metadata"]/p/strong/text() | //p[@class="update-time"]/text() | //p[@class="publisheddate"]/text() | //p[@class="date"]/text() | //div[@class="last_updated"]/p/a/text()').extract()

        fot z in cr:

          print z

我试图从链接页面收集一些数据,但是当我尝试将收集的数据添加到项目列表时,出现此错误。 为什么我在线上收到此错误 --- item['creat'].append(az) ---据我所知,我将列表插入列表

您需要在 parse() 方法中将 item['creat'] 初始化为一个空列表:

def parse(self,response):
    item = NewsItems()
    for da in response.xpath('//div[@class="section-stream-content"]'):
        item['link'] = da.xpath('//tr/td[2]/div[1]/h2/a/@href').extract()
        item['creat'] = []
        ... 

或者,在parseDate()中设置为cr

item['creat'] = cr