茅侃侃
方案1,你可以在服务器端运行一个浏览器实例来执行你的应用里的Javascript,然后从DOM中卸下HTML(使用PlantomJS或者WebLoop)。 或者你可以创建一个服务端生成的专供爬虫的替代性HTML版本。前者, 需要你为每一个页面加载建立一个headless浏览器(或者tab),比起直接产出HTML,这样会花费很多的时间和系统资源。 取决于你使用的框架,需要不少精力来决定什么时候页面已经准备好了。 你可以缓存页面,但是如果页面经常改变,那么缓存只能起到非常有限的优化作用,而且会增大复杂度。后者(创建一个替代性的服务器端站点)对简单站点而言足够了