如何从本地javascript文件解析网页
How to parse a web page from a local javascript file
我需要解析javascript从远程页面动态生成的内容。
例如,我需要从这个页面获取价格:http://www.alibaba.com/product-detail/BRG-Newest-Fashional-Protective-Case-For_1666645206.html#J-包装
但是价格是由javascript生成的,所以当我用ajax下载页面时,它只下载html文件,而没有脚本的结果。
所以我试图在后台嵌入一个iframe,然后解析这个iframe中的文档,但存在一个安全问题,无法解析它
你知道我还有别的办法吗?
我使用的功能是:
$.ajax({
url: url,
dataType: 'text',
success: function(html, _, xhr) {});
但是生成的HTML没有脚本信息,所以价格是空的。
我也试着使用:
<html lang="en">
<head>
<meta charset="utf-8">
<title>contents demo</title>
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<iframe src="http://api.jquery.com/" width="80%" height="600" id="frameDemo"></iframe>
<script>
document.getElementById("frameDemo").onload = function() {
var contents = $( "#frameDemo" ).contents();
}
</script>
</body>
</html>
但我得到了这个错误:
Uncaught SecurityError: Failed to read the 'contentDocument' property from 'HTMLIFrameElement':
Blocked a frame with origin "null" from accessing a frame with origin "api.jquery.com".
The frame requesting access has a protocol of "file", the frame being accessed has a protocol of "http".
Protocols must match.
不要使用iframe,而是尝试使用chrome应用程序webview。它将在没有您引用的限制的隔离容器中运行。但你仍然可以与它通信。
相关文章:
- AJAX不会在文件上传后重定向到网页-POST方法
- Firefox,如何提交表单触发文件下载,但停留在网页上
- 移动网页中文件的最大大小
- javascript从选中的复选框中检索输入值,并在同一网页中显示多个html文件
- 我可以通过点击html文件中的按钮来记录我的屏幕/网页吗
- 如何通过网页读取/写入本地文件
- 使用XML文件不断更新网页
- 网页:通过下载远程FTP文件的链接列出这些文件
- 加载json文件时出现空白网页,没有任何错误
- 在网页上分配 pdf/doc 文件
- 使用java脚本通过网页保存Excel文件
- 使用没有URL的python脚本从网页下载文件,调用onClick函数
- 列出网页上给定文件夹中的 Google 云端硬盘文件
- 我们每个网页的Javascript文件中的这些代码行在做什么
- 希望在网页上显示的 .obj 文件上有单击事件
- 在网页视图中显示安卓资产图像文件
- 加载 exe 文件并从网页设置变量
- 提交带有文件附件的表单后,保留内容网页
- 如何在网页上单击鼠标或鼠标悬停时播放部分音频文件
- 传递HTML表单post数据到不同的文件/网页javascript变量(php)