只是幫腔,我遇到了對的Node.js和Backbone.js的一個實施這個問題(我有非常ajax/js重網站),我發現這可能是有趣的:
crawlme
我還沒有嘗試它,但它聽起來像它會使整個過程小菜一碟,如果它的廣告作品!它是連接/表達中間件的一部分,只需在頁面調用之前插入即可,並且顯然會處理其餘部分。
編輯:
嘗試過crawlme,我取得了一些成功,但後端無頭的瀏覽器,它使用(zombie.js)與一些我的javascript內容是失敗了,可能是因爲它的工作原理是emulting的DOM因此不會是完美的。
的sooo,而不是我得到了基於模擬瀏覽器,phantomjs一個完整的WebKit的保持,以及一組節點聯反應,因爲它的,就像這樣:
npm install phantomjs node-phantom
然後我創建了類似crawlme自己的腳本,但使用phantomjs而不是zombie.js。這種方法似乎完美,並將完美呈現我的每個基於ajax的頁面。我寫下的這個腳本可以找到here。使用它,簡單地說:
var googlebot = require("./path-to-file");
,然後在任何其他調用您的應用程序(這是使用快遞,但應與工作只是連接過多:
app.use(googlebot());
源是realtively簡單減去一對夫婦的正則表達式,所以有一個gander :)
結果:AJAX沉重node.js /連接/快速基於網站可以通過googlebot進行爬網。
儘管我不確定我會使用這個,但它最接近於合理的答案,因爲在這個時候可能在js中沒有無頭解決方案;) – Rob
請考慮這種方法http://stackoverflow.com/問題/ 9413328/loading-a-backbone-js-collection-on-html-page-load/9413380 – opengrid