Q
Web刮流星頁面
3
A
回答
5
您可以使用phantomjs來呈現網頁。這是一個例子,專門針對網頁流星設計,(從spiderable)捕捉到他們的HTML:
var fs = require('fs');
var child_process = require('child_process');
console.log('Loading a web page');
var page = require('webpage').create();
page.open("http://localhost:3000", function(status) {
});
var i = 0;
setInterval(function() {
var ready = page.evaluate(function() {
if (typeof Meteor !== 'undefined'
&& typeof(Meteor.status) !== 'undefined'
&& Meteor.status().connected) {
Deps.flush();
return DDP._allSubscriptionsReady();
}
return false;
});
console.log("Ready", ready);
if (ready) {
var out = page.content;
console.log(out);
phantom.exit();
}
}, 100);
它是這樣,但你可以換輸出,並使用require('child_process').exec
和stdin
捕捉它。
您可以使用phantomjs script.js
運行代碼,它會讓您返回流星頁面的HTML。
+0
我試過這與[流星文檔]和一切正常工作在瀏覽器(火狐)控制檯,但'phantomjs'無法找到流星變量。有任何想法嗎? –
1
如果他們已經啓用了spiderable
包,那麼你就可以假裝是一個網絡爬蟲獲取服務器來渲染頁面。
如果您不控制服務器或未啓用服務器,則可能必須使用Selenium - 但爬網會佔用CPU並且速度很慢。
相關問題
- 1. 遞歸刮Web頁面Scrapy
- 2. 我如何刮流星webapp?
- 3. 流星 - 分頁
- 4. 流星分頁
- 5. 流星路線到個人頁面
- 6. 流星移動響應頁面
- 7. 流星的Router.go()頁面渲染
- 8. 流星:設置起始頁面(位置)
- 9. 刮頁面請求
- 10. 刮頁面完成
- 11. 刮緩存頁面
- 12. 發行刮頁面
- 13. 流星麪包屑
- 14. 如何用Splash刮刮JS頁面?
- 15. 流星分頁與alethes:頁
- 16. 在主頁面內刮頁面?
- 17. Python Web刮(美麗的湯,硒和PhantomJS):只刮整個頁面的一部分
- 18. 流星流量路由器丟空頁面
- 19. BeautifulSoup - 颳着論壇頁面
- 20. 刮多個頁面Scrapy
- 21. 使用python刮ajax頁面
- 22. 你如何刮AJAX頁面?
- 23. 流星全頁模板
- 24. 流星分頁問題
- 25. 流星孟戈分頁
- 26. 流星js定製分頁
- 27. 流星客戶端分頁
- 28. 流星管理面板包
- 29. 從刮網頁獲取頁面標題
- 30. rvest從網頁的html頁面刮
連接到站點的DDP服務器並通過調用相關方法/訂閱獲取數據可能會更簡單。這樣數據就會以一種有用的格式存在,而不需要刮掉它,並且如果它們改變了HTML佈局,它也不會中斷。這是一個節點DDP客戶端:https://www.npmjs.org/package/ddp – user3374348