方案1,你可以在服務器端運行一個瀏覽器實例來執行你的應用里的Javascript,然后從DOM中卸下HTML(使用PlantomJS或者WebLoop)。 或者你可以創建一個服務端生成的專供爬蟲的替代性HTML版本。
前者, 需要你為每一個頁面加載建立一個headless瀏覽器(或者tab),比起直接產出HTML,這樣會花費很多的時間和系統資源。 取決于你使用的框架,需要不少精力來決定什么時候頁面已經準備好了。 你可以緩存頁面,但是如果頁面經常改變,那么緩存只能起到非常有限的優化作用,而且會增大復雜度。