I'm working with data similar to the structure below:
{"Id":1,
"Data_inscricao":"2017-01-01",
"Texto":"Loremipsum",
"Numeracao":26,
"Tempo":"25s"},
{"Id":3,
"Data_inscricao":"2010-05-02",
"Texto":"LoremipsumLorem",
"Numeracao":656,
"Tempo":9},....
I have in hand the data "656" which refers to "Numbering". I need to return 2 position of my .get ("Numbering") to get the data "2010-05-02", that is, to use .get ("Data_inscricao") but with reference to "Numbering": 656
How do I do this in JSON or list variable? Current code below:
numeracao = '656'
#A URL é privada, não vou conseguir mostrar o conteúdo
html = urlopen("https://www.teste.com.br")
#Retornando um volume muito grande de dados, não são apenas 2 blocos de registros.
bsObj = BeautifulSoup(html)
informacoes = bsObj.findAll(id="Resultados")
print(informacoes)
#Resultado do print() - BEGIN
[<input id="Resultados" type="hidden" value="{
"result":true,"message":"ok","Contador":2282,"Dados":
[
{"Id":1,
"Data_inscricao":"2017-01-01",
"Texto":"Loremipsum",
"Numeracao":26,
"Tempo":"25s"},
{"Id":3,
"Data_inscricao":"2010-05-02",
"Texto":"LoremipsumLorem",
"Numeracao":656,
"Tempo":9}
]
}"/>]
#Resultado do print() - END
informacoes = informacoes.replace('"', '\"')
print(type(informacoes))
#Resultado do print() - BEGIN
<class 'str'>
#Resultado do print() - END
print(informacoes)
#Resultado do print() - BEGIN
[<input id="Resultados" type="hidden" value="{
"result":true,"message":"ok","Contador":2282,"Dados":
[
{"Id":1,
"Data_inscricao":"2017-01-01",
"Texto":"Loremipsum",
"Numeracao":26,
"Tempo":"25s"},
{"Id":3,
"Data_inscricao":"2010-05-02",
"Texto":"LoremipsumLorem",
"Numeracao":656,
"Tempo":9}
]
}"/>]
#Resultado do print() - END
regex = re.compile('(?:\"Dados\":\[)(.*?)(?:[]}"/>]])')
informacoes = re.findall(regex, informacoes)
print(type(informacoes))
#Resultado do print() - BEGIN
<class 'list'>
#Resultado do print() - END
#Imprime conteúdo, considerando como lista
for dados in informacoes:
print(type(dados))
#Resultado do print() - BEGIN
<class 'str'>
#Resultado do print() - END
print(dados)
#Resultado do print() - BEGIN
{"Id":1,
"Data_inscricao":"2017-01-01",
"Texto":"Loremipsum",
"Numeracao":26,
"Tempo":"25s"},
{"Id":3,
"Data_inscricao":"2010-05-02",
"Texto":"LoremipsumLorem",
"Numeracao":656,
"Tempo":9
#Resultado do print() - END
#No print acima, realmente está faltando a } no final, provavelmente é por causa da regex