<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"address": {
"@type": "PostalAddress",
"addressLocality": "3rd Floor, Sharda Arcade, Pune Satara Road,
Bibvewadi",
"postalCode": "411016 ",
"streetAddress": " Pune/Maharashtra "
},
"name": "Banctec Tps India Pvt Ltd",
"telephone": "(020) "
}
</script>
4 Réponses :
Utilisez le package JSON:
print (jsonObj['address'])
{'@type': 'PostalAddress', 'addressLocality': '3rd Floor, Sharda Arcade, Pune Satara Road, Bibvewadi', 'postalCode': '411016 ', 'streetAddress': ' Pune/Maharashtra '}
Utilisez la propriété string code> pour obtenir le texte de l'élément, vous pouvez l'analyser comme JSON. links_dict = json.loads(links.string)
address = links_dict['address']
Hey Barmar, merci cela a fonctionné. La variable d'adresse est-elle un dictionnaire maintenant?
Oui, json.loads () code> charge l'objet entier dans le dictionnaire.
Vous pouvez faire print (links_dict) code> pour voir le tout.
chaîne de données formatées JSON en Python, désérialisez celle avec json.loads () après cela, p>
Les balises de script souvent souvent contiennent beaucoup de fluff JavaScript. Vous pouvez utiliser RegEx pour isoler le dictionnaire:
scripts = s.findAll('script')
for script in scripts:
if '@context' in script.text:
# Extra step to isolate the dictionary.
jsonStr = re.search(r'\{.*\}', str(script)).group()
# Create dictionary
dct = json.loads(jsonStr)
print(dct['address'])
Qu'est-ce que vous avez essayé exactement et qu'est-ce qui a échoué?
Il devrait être
soupe.find ("script"). Chaîne code>Je suis nouveau à Python, puisque c'était un dict, j'ai essayé de faire une liste alors accédant à des valeurs clés, j'ai essayé d'accéder directement mais cela n'a pas fonctionné