將一個特定頁面抓取為一張png圖片的最簡單的方法是使用CutyCapt,這是一種在Linux下的方便地將HTML網頁轉化成矢量圖形和位圖圖像格式的命令行工具(比如,SVG, PDF, PS, PNG, JPEG, TIFF, GIF)。CutyCapt內部使用WebKit渲染引擎來導出網頁渲染輸出到圖片文件中。它使用Qt構建,CutyCapt實際上是一個也可以在Windows上使用的跨平台應用。(譯注:也有一個基於IE內核的 IECapt 可以作此用途)
在本篇教程中,我會描述如何將一個HTML網頁使用CutyCapt轉化成png圖片。
這是在特定Linux發行版上的安裝命令。
在Fedora上編譯前,你需要在源碼上打上補丁。
使用文本編輯器打開CutyCapt.hpp,並且加入在文件的開頭加上下面的兩行。
最後,如下編譯並安裝CutyCapt。
首先在你的Linux上啟用EPEL倉庫。接著和在Fedora上一樣使用相同的步驟編譯安裝。
將一個HTML頁面截圖成一個png圖片,只要使用下面的格式運行CutyCapt。
要將HTML頁面保存成不同的格式(比如,PDF),只要適當地指定輸出文件。
下圖顯示了CutyCapt命令選項。
雖然CutyCapt是一個命令行工具,但是它需要X服務運行。如果你嘗試在不含X服務的機器上運行,你會得到下面這個錯誤:
如果你要不含X的服務器上運行CutyCapt,你可以在服務器上安裝Xvfb(輕量級“假的”X11 服務)。這樣CutyCapt就不會報錯了。
要在Debian, Ubuntu 或者 Linux Mint 上安裝Xvfb:
要在Fedora, CentOS 或者 RHEL 上安裝Xvfb:
在安裝Xvfb之後,接下來像這樣運行CutyCapt。
它首先會運行Xbfb服務,接著使用CutyCapt來抓取網頁。因此它可能會花費更長的時間。如果你想要截圖多張截圖,你可能事先需要將Xvfb作為後台守護進程啟動。