【问题标题】:parsing JavaScript code in HTML source解析 HTML 源代码中的 JavaScript 代码
【发布时间】:2015-01-22 17:54:00
【问题描述】:

如何使用 Python 解析 HTML 源代码中的 JavaScript 代码,例如我想提取 productList 对象

下面是我的源码;

<html>
<body>
<div id="content-wrapper" class="row-fluid clearfix" role="contentinfo">
<!-- html content -->
</div>


   <script>
    var productList = { "daaa" : "ddddd"};
   </script>

</body>
</html>

【问题讨论】:

标签: python


【解决方案1】:

我建议你看看 BeautifulSoup - 它可以帮助你从 HTML 文件中提取 JavaScript 代码(但不能解析/运行它):

source = """<html>...</html>"""

from bs4 import BeautifulSoup
soup = BeautifulSoup(source)
js_code = soup.find_all("script")[0].text

然后您可以使用一些 JavaScript 解释器来运行代码并获取变量 - 有一些像 this onethis one。只需谷歌即可。

【讨论】:

  • 你觉得使用正则表达式来解析提取的 JavaScript 怎么样?
  • @Parker,我不确定这是否是个好主意,我从来没有尝试用正则表达式解析任何编程语言。我想你可以试试。顺便说一句,您可以尝试使用pyparsing:它允许您创建自己的解析器来解析不同的语言
【解决方案2】:

我认为您需要添加功能,以便计算机可以读取如果它是 javascript 和 python, 使用这个:

script type="text/javascript">  <!-------or python----></script>

【讨论】:

  • 您好 Ben Riley,欢迎来到 Stack Overflow!这不是一个完整的答案;请返回并编辑以完整回答问题。
猜你喜欢
  • 2019-09-22
  • 1970-01-01
  • 2012-04-30
  • 1970-01-01
  • 1970-01-01
  • 2014-07-13
  • 2011-07-26
  • 1970-01-01
  • 2011-10-27
相关资源
最近更新 更多