複雑な階層情報を含むデータをスクレイピングしており、結果を 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() を使用すると、正常に動作します。問題はどこにあるのでしょうか? これは私のナッツを運転しています...