2016-07-19 9 views
1

個々のオブジェクトをJSONレスポンスから取得しようとしています。以下は、私はこすりしようとしているウェブサイトから取得応答です:Scrapy:JSONレスポンス内のextrat項目

[{"name":"AAA 404","id":"AAA404","sections":[{"id":"5393643","name":"40053","instructor":"Dellabough"}]},{"name":"AAA 604","id":"AAA604","sections":[{"id":"5393644","name":"40054","instructor":"STAFF"},{"id":"5393645","name":"40055","instructor":"Dellabough"}]}] 

を次のコード(およびクモ)を使用して、私は「名前」、「ID」を取得することができるよ、と"セクション"。

def parse(self, response): 
    jsonresponse = json.loads(response.body_as_unicode()) 

    for i in jsonresponse: 
     print i["id"], i["name"], i["sections"] 

これは私に次のようになります:

ID = AAA404 NAME = AAA 404 SECTION = [{u'instructor': u'Dellabough', u'id': u'5393643', u'name': u'40053'}] 
ID = AAA604 NAME = AAA 604 SECTION = [{u'instructor': u'STAFF', u'id': u'5393644', u'name': u'40054'}, {u'instructor': u'Dellabough', u'id': u'5393645', u'name': u'40055'}] 

、私は何をしたいのは、セクション内にある「インストラクター」、「ID」、および「名前を」プルです。最終的に、私はこの情報をIDとセクション全体と結びつける必要がありますが、今のところ私は全体的なID、名前、セクションのように使用可能な形式でこの情報を抽出できることに主眼を置いています。

答えて

0

だけセクション内部ループを使用して dictsを反復処理し、それぞれのIDと名前は、私はそれぞれに関連付けされます。

for dct in i["sections"]: 
    print(i["id"], i["name"], dct["instructor"], dct["id"], dct["name"]) 
+0

ありがとうございました。それは素晴らしい作品です。 – ridingsolo

関連する問題