用python从html文档中提取javascript变量值

Extract javascript variable value from html document with python

本文关键字:提取 javascript 变量值 文档 python html      更新时间:2023-09-26

我需要解析一个包含json对象的javascript代码的HTML文档。

像这样:

<html>
   <head>
   </head>
<body>
    <script type="text/javascript">
        myJSONObject = {"name": "steve", "city": "new york"}
    </script>
   <p>Hello World.</p>
</body>
</html>

我如何提取myJSONObject值与python?

您可以使用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'}