有哪些在伺服器端給網頁截圖的辦法?
01-04
當然要保留 CSS 樣式了, JS 渲染的內容沒辦法也就算了,畢竟不靠譜。
1.可以使在線服務,如http://www.bitpixels.com/,http://www.url2png.com/等2.使用第三方工具, 如webkit2png,CutyCapt,PyWebShot等。 這些工具都需要藉助一個瀏覽器內核來渲染
必須是 http://phantomjs.org。
諸多 web 測試框架和截圖軟體/服務的基礎,是一個不需要 X11 的 webkit。
擁有完整的 Web 執行環境(HTML5+CSS3+JS),卻沒有瀏覽器。php我用imagegrabscreen
nodejs我用webshot
Phantomjs 或者 CutyCapt
如果伺服器是windows好辦, 以前做過, 用windows 瀏覽器IE API, 對document dc截圖
java可以用selenium
fzaninotto/screenshot-as-a-service
用這個神器吧
使用示例:http://localhost:3000/?url=www.baidu.com
其實http://showslow.com順帶也可以截圖,只是中文基本不支持:(
在上家公司做過前端性能分析,其中渲染圖功能,就是每隔多少時間,進行不停的截圖。
方法很簡單,伺服器收到請求,打開firefox,做個firefox擴展進行截圖並輸出圖片到某個目錄或者發送到本地伺服器去處理,最後返回給客戶端
另外,前同事也做過一個項目叫 icapt ,原理也類似,見 https://github.com/sorrycc/icapt推薦閱讀: