-->

渲染JavaScript来HTML在Python?(Render JavaScript to HTM

2019-08-05 00:49发布

什么

我的web应用程序是通过谷歌的动态化AngularJS 。

我想生成我的网页的静态版本。

为什么

网页式铲运机像谷歌的执行和渲染JavaScript的; 但不要把内容相同的方式,它们的静态等效。

参考文献:

  • 是否重JavaScript中使用产生不利影响Googleability? (程序员StackExchange)
  • 让AJAX应用抓取 (谷歌文档网站管理员)

怎么样

不知道到底如何,这就是为什么我问,但我想访问该浏览器的“检查元素”呈现相同的源; 而不是源: 按Ctrl + U(查看网页源代码)显示。

一旦我有一个脚本这使得页面; '随地吐痰' 出来的HTML + CSS; 我将会把这些“生成”的文件我的Web服务器上。 那么A“的cron”作业被计划定期重新生成的文件。

这些静态文件将随后送达,而不是动态的; 当JavaScript被禁用和/或当刮刀“访问”的网站。

Answer 1:

这里是一个解决方案,但是我很怀疑我能找到能够运行一个公有PaaS云:

import spynner

if __name__=='__main__':
    url = "http://angular.github.com/angular-phonecat/step-10/app/#/phones"
    browser = spynner.Browser()
    browser.create_webview(True)
    browser.load(url, load_timeout=60)
    print browser._get_html()
    # ^ Can pipe this to a file, POST it to my server or return it as a string
    browser.close()

包装: Spynner(Github上)



文章来源: Render JavaScript to HTML in Python?