基于phantomjs-node的网页快照服务,自动等待第一批ajax请求完毕后返回结果、满足高并发的多实例多页面管理
发布于 11小时前 作者 wonderbeyond 68 次浏览 来自 分享

我的第一个NodeJS项目:websnap 基于phantomjs-node,提供网页快照服务,能够自动等待第一批ajax请求完成以保证生成完整的DOM。

内部实现上,并不是来一个请求开一个phantomjs实例来渲染,而是实现了一个页面管理器,同时开多个phantomjs实例(类似于用户开多个浏览器程序),每个实例开多个page(类似于浏览器开多个标签页),这样phantomjs实例可以重复利用,避免了频繁创建phantomjs进程的开销。同时,多实例、多page也提供了更高的并发能力。

项目地址:https://github.com/wonderbeyond/websnap

第一次写nodejs程序,感觉代码有点脏,不少地方实现的有点尴尬,快hold不住了。希望各位多指教!

回到顶部