如何在python BeautifulSoup或任何其他模块中获取javascript输出

How to get javascript output in python BeautifulSoup or any other module

本文关键字:模块 获取 javascript 输出 其他 任何 python BeautifulSoup      更新时间:2023-09-26

在我尝试制作抓取器的过程中,我发现一个在其代码中大量使用 javascript 的网站,是否可以检索脚本的输出,例如

<html>
<head>
<title>Python</title>
</head>
<body>
<script type="text/javascript" src='test.js'></script>
<p> some stuff <br>
more stuff <br>
code <br>
video <br>
picture <br>
movie <br>
. <br>
. <br>
. <br>
</p>
<span>Your Number is:  </span>
<script type="text/javascript">document.write(math(5, 10, 15));</script>
</body>
</html>

其中"测试.js"具有:

function math (a, b, c) {return a * b * c * c * a * b * c + a + b +c - a;}

当我使用美丽汤时,它会显示代码本身,即:

<script type="text/javascript">document.write(math(5, 10, 15));</script>

但是我需要获取"您的号码是:8437480",我可以使用 soup.span.get_text() 获取跨度之间的文本,但我无法获取脚本的编号。

Beautifulsoup 就是不能执行 JavaScript 代码。我建议你将PhantomJS这样的东西集成到你的刮板中。如果你能放弃python,你就在PhantomJS中抓取