下面由composer教程欄目帶大家分享一個截取網頁的Composer包,希望對需要的朋友有所幫助!
screenshot
網頁截圖服務,用于生成小程序海報。(mac系統暫未適配)
安裝
composer require tommy-dai/screenshot
使用
快速上手
$screenshot = new ScreenshotScreenShot();$screenshot->shot('http://image.baidu.com');
注意:第一次訪問圖片有可能不出來,后面就不會出現了
不出意外就可以獲得百度圖片的網頁截圖
可選配置項
//截圖服務端口號 port?=?8181; //超時時間(毫秒) timeOut?=?5000; //是否解析頁面中的JavaScript代碼 javascriptEnabled?=?false; //圖片寬度(單位像素) width?=?750; //圖片高度(單位像素) height?=?1334; //截圖日志文件存放路徑(絕對路徑) logPath?=?'';
修改默認配置項
//獲取默認配置 $config?=?new?ScreenshotConfig(); //修改默認端口號(修改配置) $config->setPort(8080); //修改默認端圖片寬度 $config->setWidth(600); //修改默認端圖片高度 $config->setHeight(800); //開啟JavaScript支持(開啟后將可以解析頁面中js代碼,對于js生成的頁面可以截取) $config->setJavascriptEnabled(true); //用配置文件初始化截圖服務(不傳$config會走默認配置) $screenshot?=?new?ScreenshotScreenShot($config); //生成截圖服務并截取百度圖片 $screenshot->shot('http://image.baidu.com');
注意:修改配置項不會立即生效,關閉服務重新開啟后生效。
關閉步驟
- 改為下面代碼然后通過瀏覽器訪問一次,服務就會關閉。重新訪問上面的代碼就生效了。
$screenshot?=?new?ScreenshotScreenShot(); //關閉截圖服務 $screenshot->stop();
獲取截圖base64字符串
$screenshot?=?new?ScreenshotScreenShot(); //返回base64的圖片,可用于本地保存 $screenshot->getShot();
特殊用法
$screenshot?=?new?ScreenshotScreenShot(); //開啟截圖服務 $screenshot->start();
開啟截圖服務 $screenshot->start() 之后能干什么
1. 可以通過訪問 127.0.0.1:8181/?a=image.baid… 獲取截圖的 base64 字符串
2. 可以把截圖服務單獨部署,通過訪問 http://ip地址:8181/?a=http://image.baidu.com 獲取截圖的 base64 字符串
3. 可以部署多臺截圖服務用nginx做負載均衡
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END