2017-03-03 20 views
-1

私の問題を解決しようと一日を費やした後、私はあなたにいくつかの助けを求めるために来ます...私は現在、スクラップでWeb Scrawlerを構築していますが、私のjsonファイルを正しくインポートしてください。次のように治療中のJsonレスポンスでクロールする

JSONの構造は次のとおりです。

{ 
    "Response": "Success", 
    "Type": 100, 
    "Aggregated": false, 
    "Data": [ 
    { 
     "time": 1452643200, 
     "close": 1.21, 
     "high": 1.21, 
     "low": 1.21, 
     "open": 1.21, 
     "volumefrom": 0, 
     "volumeto": 0 
    }, 
    { 
     "time": 1452646800, 
     "close": 1.21, 
     "high": 1.21, 
     "low": 1.21, 
     "open": 1.21, 
     "volumefrom": 0, 
     "volumeto": 0 
     } 
    ], 
    "TimeTo": 1452679200, 
    "TimeFrom": 1452643200, 
    "FirstValueInArray": true, 
    "ConversionType": "direct" 
} 

私が呼ぶたび:私は内からアイテムを取得することはできません

  •  json_string = response.body_as_unicode() 
        for Data in json_string: 
         for close in Data: 
          print close 
    

    私は2つの異なる問題が発生しました"データ"は文字列のように見えるので、引数を入力することはできません。

  • print関数は、返されたすべてのデータを垂直方向に出力します。

私は、(たとえば) "high" = 0のときにクローラを停止する必要があると言うことができるように、データを取得して後で実行してください。

事前にお手数をおかけして申し訳ありませんが、私はどこかに明確ではない場合は。

あなたが最初の文字列を解析する必要があるM.

答えて

0

import json 

d = json.loads(json_string) 
for rec in d['Data']: 
    if rec['high'] == 0: 
     break 
    print(rec['close']) 
+0

うわー、これは明らかにトリックをしました!おかげさまでありがとうございました。 –

関連する問題