linux64位使用phantomjs獲取頁面截圖:
安裝:
官網:http://phantomjs.org/download.html
如果下載慢,可以搜索相應包的下載地址,比如linux 64-bit的可以從http://download.csdn.net/detail/likunlun1234/9471008下載
解壓縮:
tar -jxvf phantomjs-2.1.1-linux-x86_64.tar.bz2
使用:
切換到對應目錄,執行./bin/phantomjs xxx.js,例如./bin/phantomjs examples/hello.js
截屏js:
examples/rasterize.js
例如截屏easou首頁,./bin/phantomjs examples/rasterize.js http://www.easou.com/ a.png
注意,如果輸出成jpg格式,背景是黑色的,這個不知怎麼能解決。
字體:
如果中文未顯示,是因爲linux下缺失中文字體。centos安裝:yum install bitmap-fonts bitmap-fonts-cjk,ubuntu安裝:sudo apt-get install xfonts-wqy
分辨率:
./bin/phantomjs examples/rasterize.js http://www.itjuzi.com/ b.png
圖片導航欄換行了,如下圖,是因爲屏幕分辨率不夠高。
解決辦法是後面加屏幕參數,./bin/phantomjs examples/rasterize.js http://www.itjuzi.com/ c.png 3840px,加上參數後運行無結果,因爲js報錯,因爲pageWidth, pageHeight兩個變量未定義。解決後結果如下圖:
登錄問題:
header信息可以這樣填寫:
page.customHeaders = {
"User-Agent": "",
"Host": "",
"Cookie":""
};
這條路還未跑通,登錄是可以的,能獲取到數據,但截圖結果不理想,缺失樣式。