我需要使用json对象解析包含javascript代码的HTML文档。
这样的事情:
<html>
<head>
</head>
<body>
<script type="text/javascript">
myJSONObject = {"name": "steve", "city": "new york"}
</script>
<p>Hello World.</p>
</body>
</html>
如何使用python提取myJSONObject值?
答案 0 :(得分:6)
您可以使用lxml来解析HTML,然后解压缩JSON:
>>> import lxml.etree,json
>>> s = '''<html><body><script type="text/javascript">
myJSONObject = {"name": "steve", "city": "new york"}
</script></body></html>'''
>>> js = lxml.etree.HTML(s).find('.//body/script').text
>>> jsonCode = js.partition('=')[2].strip()
>>> json.loads(jsonCode)
{u'city': u'new york', u'name': u'steve'}