2016-12-29 6 views
-3

ich diesen Tag mit data = soup.findAll ('div', { 'id': 'responseDiv'}) gefiltert und bekam dies.Extrahieren von Daten aus BeautifulSoup Ergebnismenge

{"gültig": "true", "isinCode": null, "lastUpdateTime": "29-DEC-2016 12:19:23", "ocLink": "/ markeinfo/sym_map/symbolMapping.jsp? Symbol = NIFTY & Instrument = - & Datum = - & SegmentLink = 17 & SymbolCount = 2 "," tradedDate ":" 29DEC2016 "," Daten ": [{" change ":" 18.65 "," sellPrice1 ":" 8.050.90 " , "buyQuantity3": "75", "sellPrice2": "8,050,95", "buyQuantity4": "225", "buyQuantity1": "750", "ltp": "-", "buyQuantity2": "150", " sellPrice5 ":" 8,051.15 "," sellPrice3 ":" 8.051,00 "," kaufenQuantity5 ":" 675 "," sellPrice4 ":" 8.051.05 "," zugrunde liegend ":" NIFTY "," bestSell ":" - "," annualisierteVolatilität " : "16.61", "optionType": "-", "prevClose": "8.031,35", "pChange": "0.23", "letzterPreis": "8.050.00", "LowPrice": "8.025.00", "strikePrice": " - "," premiumTurnover ":" - "," numberOfContrastTraded ":" 54,112 "," directiveValue ":" 8,055,20 "," open Interesse ":" 1,03,46,700 "," implizierteVolatilität ":" - ", " vwap ":" 8,046.98 "," totalBuyQuantity ":" 5,20,350 "," openPrice ":" 8,028.00 "," closePrice " : "0.00", "bestBuy": "-", "changeinOpenInterest": "- 2,111,050", "clientWisePositionLimits": "29320076", "totalSellQuantity": "9,75,675", "dailyVolatility": "0,87", "sellQuantity5": "225", "marketLot": "75", "expiryDate": "29DEC2016", "marketWidePositionLimits": "-", "sellQuantity2": "150", "sellQuantity1": "75", "buyPrice1 ": 8.050,00", "sellQuantity4": "150", "buyPrice2": "8.049,80", "sellQuantity3": "450", "buyPrice4": "8.049,30", "buyPrice3": "8.049,35", "buyPrice5": "8,049,15", "turnoverinRsLakhs": "3,26,578.64", "pcheineinOpenInterest": "- 2,00", "settlementPrice": "8031,35", "instrumentType": "FUTIDX", "highPrice": "8,060.00"}], companyName ":" Nifty 50 "," eqLink ":" "}

]

Ich möchte den Text in Fettdruck extrahieren. Ich habe das Ganze einfach in String konvertiert und per Index aufgerufen. Ich bin mir sicher, es gibt einen richtigen Weg zum Konvertieren Resultset

Antwort

0

Ihre Frage ist ein bisschen unklar und muss bearbeitet werden, aber diese Antwort sieht aus wie json. Sie können es laden mit

import json 

... 
data = soup.findAll('div',{'id':'responseDiv'}) 

Und unter der Annahme, was Sie wirklich von findAll erhalten Sie eine Liste mit Elementen, die diesen json-Text enthalten.

extracted = json.loads(data[0].getText()) 
print(extracted['data'][0]['vwap']) 

8,046.98

Die 'VWAP' Sie versuchen, zum Beispiel erreicht werden, so zu extrahieren. Das extracted ist ein Wörterbuch, das eine Liste mit dem Schlüssel 'data' enthält, das 0. Element der Liste ist ein Wörterbuch und innerhalb des Schlüsselworts 'vwap' ist die Information.

Verwandte Themen