I'm trying to retrieve a Javascript variable using Python and I'm having some issues...
Here is what the variable looks like :
<script type="text/javascript">
var exampleVar = [
{...},
{...},
{
"key":"0000",
"abo":
{
"param1":"1"
"param2":"2"
"param3":
[
{
"param3a1":"000"
"param3a2":"111"
},
{
"param3b1":"100"
"param3b2":"101"
}
]
}
]
</script>
After some research, I discovered that its content was in the JSON format, and I'm new to it...
My problem now is that I would like to retrieve the value of "param3b1" (for example) to use it in my Python program.
How do I do this in Python ?
Thanks !
Variables in JavaScript (and most other programming languages) are stored in two places: stack and heap. A stack is usually a continuous region of memory allocating local context for each executing function. Heap is a much larger region storing everything allocated dynamically.
Step by step this is what you need to do.
<script>
tags first, and then the variable definitionHere is a demo.
from xml.etree import ElementTree
import json
tree = ElementTree.fromstring(js_String).getroot() #get the root
#use etree.find or whatever to find the text you need in your html file
script_text = tree.text.strip()
#extract json string
#you could use the re module if the string extraction is complex
json_string = script_text.split('var exampleVar =')[1]
#note that this will work only for the example you have given.
try:
data = json.loads(json_string)
except ValueError:
print "invalid json", json_string
else:
value = data['abo']['param3']['param3b1']
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With