как реализовать вложенный элемент в scrapy?

Я очищаю некоторые данные со сложной иерархической информацией, и мне нужно экспортировать результат в json.

Я определил элементы как

class FamilyItem():
    name = Field()
    sons = Field()

class SonsItem():
    name = Field()
    grandsons = Field()

class GrandsonsItem():
    name = Field()
    age = Field()
    weight = Field()
    sex = Field()

и когда паук завершится, я получу вывод печатного элемента, например

{'name': 'Jenny',
   'sons': [
            {'name': u'S1',
             'grandsons': [
                   {'name': u'GS1',
                    'age': 18,
                    'weight': 50
                   },
                   {
                    'name':u'GS2',
                    'age': 19,
                    'weight':51}]
                   }]
}

но когда я запускаю scrapy crawl myscaper -o a.json, он всегда говорит, что результат «не сериализуем JSON». Затем я копирую и вставляю вывод элемента в консоль ipython и использую json.dumps (), все работает нормально. Так в чем проблема? это сводит меня с ума...

24
задан Tomas Sykora 11 November 2016 в 01:48
поделиться