此页面http://videocamaras.com.es/index.html 正在执行JS
如何在Linux服务器上将此JS的输出保存到Html / Php?
结果将是:已保存的页面将显示与上面链接相同的内容
有一个脚本吗?
谢谢
答案 0 :(得分:2)
正如我在评论中所说,你需要一个无头浏览器。我不能告诉你如何使用纯PHP来完成这项工作,但我可以用Qt4为你提供一些Python代码。
# -*- coding: utf-8 -*-
import sys, codecs
from PyQt4.QtGui import *
from PyQt4.QtCore import *
from PyQt4.QtWebKit import *
class Render(QWebPage):
def __init__(self, url):
self.app = QApplication(sys.argv)
QWebPage.__init__(self)
self.loadFinished.connect(self._loadFinished)
self.mainFrame().load(QUrl(url))
self.app.exec_()
def _loadFinished(self, result):
self.frame = self.mainFrame()
self.app.quit()
url = 'http://videocamaras.com.es/index.html'
r = Render(url)
html = unicode(r.frame.toHtml())
sys.stdout = codecs.getwriter('utf-8')(sys.stdout)
print html
这将得到你想要的东西。
答案 1 :(得分:1)
获取index.html文件的内容:
$url = 'http://videocamaras.com.es/index.html';
$file = '/some/path/on/your/server/index.html';
$contents = file_get_contents($url);
if (!is_dir(dirname($file)) {
mkdir(dirname($file), 2775, true);
}
file_put_contents($contents);
您只需获取位于$url
的文档内容,确保目标路径存在,然后将内容放入$file
。
为此,您应该在.htaccess文件中使用php_flag allow_url_fopen。
希望它有所帮助。
答案 2 :(得分:0)
您可以使用 file_get_contents
$output = file_get_contents("http://videocamaras.com.es/index.html")
http://videocamaras.com.es/index.html的完整输出存储在$ output中,您可以将其保存在数据库中。