linux64位使用phantomjs獲取頁面截圖

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":""
};
這條路還未跑通,登錄是可以的,能獲取到數據,但截圖結果不理想,缺失樣式。

參考文檔:

官方API文檔說明

phantomjs使用說明

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章