在解决如何启动无头浏览器以提供使用 javascript(具体来说是 sammy.js)来提供 AJAX 内容的站点的静态 HTML 快照时遇到了真正的麻烦。
我正在研究使 AJAX 应用程序可抓取的 Google 规范:
http://code.google.com/web/ajaxcrawling/docs/getting-started.html
这在大多数情况下都很棒而且非常清晰,而且我在获取 ?_escaped_fragment_ URL 时没有任何问题。
大部分模板都是在服务器端完成的,所以我很想只编写一个 PHP 快照构建文件,该文件使用来自 sammy 应用程序代码(有很多路由)的相同正则表达式匹配以包含在各种模板文件中。但是,很多操作都发生在 javascript 应用程序中,因此这意味着在 PHP 中镜像所有这些处理,这意味着并排维护两个文件,跨语言 - 这是很多工作!
现在,我读到您可以使用 Headless Browser 来“渲染”页面并执行所有 javascript(匹配 #!/ 路由并为请求提供正确的内容),然后将整个 DOM 内容作为 HTML 返回,这将提供给 googlebot。
我进行了长时间的艰苦搜索,但找不到任何关于从 PHP 运行无头浏览器的分步指南(适用于所有 Java 新手)。我想这意味着我只是不知道要搜索什么。
我想知道的是:设置和使用无头浏览器来提供这些 HTML 快照是否需要更多工作?如果是这样,是否值得这样做?
另外,如果有任何指南可以指点我,那就太好了!
谢谢!
乔斯