如何在python BeautifulSoup或任何其他模块中获取javascript输出
How to get javascript output in python BeautifulSoup or any other module
在我尝试制作抓取器的过程中,我发现一个在其代码中大量使用 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中抓取
相关文章:
- 需要从一个文件中获取多个模块
- 获取错误模块“;反应”;找不到
- 正在从node.js模块获取D9025警告和C1083错误..I'I’我没有主意
- 如何使用node.js的readline模块获取两个连续的输入
- 在Meteor中使用fs模块获取Uncaught TypeError _fs2.default.readFile不是函数
- 在AngularJS$资源模块上请求之前获取URL
- NodeJS异步模块:如何在回调中获取results对象
- 如何从自定义模块获取Magento中的字段数据
- 角度新手:尝试使用 ng-change,获取“模块'ngModel'不可用”
- 如何获取所有可用节点.js模块的列表
- GiantBomb API 请求获取 HTML 而不是 JSON,Nodejs 请求模块
- 尝试从 javascript 模块获取返回值
- 使用本地主机/同一主机的http模块获取请求
- 类已经或正在使用名称'SafeUrl'从外部模块获取,但不能命名
- 通过模块获取变量.导出节点
- Node.js请求模块获取网站的现代版本
- 通过节点请求模块获取响应头
- 从node.js模块获取数据到server.js文件
- AngularJS从http post模块获取成功消息
- NodeJS使用request模块获取包含中文的url