❶ 如何用php實現網頁截圖
方法和步驟
1如果是在linux下建議使用phantomjs進行截圖十分簡單, php應該不容易實現。
2因為截圖需要先有地方把整個頁面解析後渲染出來才能夠截圖。
3可以利用phantomjs寫伺服器的js腳本然後用php調用就OK。
❷ 什麼Linux瀏覽器可以把網頁保存為圖片
谷歌瀏覽器將網頁保存為圖片或者pdf
使用php調用phantomjs也可以保存網頁為圖片
npm install phantomjs -g
vi test.js
var webPage = require('webpage');
var page = webPage.create();
page.viewportSize = { width: 1920, height: 1080 };
page.open("http://www..com", function start(status) {
page.render('.jpg', {format: 'jpeg', quality: '100'});
phantom.exit();
});
//php
shell_exec('phantomjs test.js')
❸ python怎麼調用phantomJS程序
簡單總結下 一般來說有兩種方式:
一種像大家說的 模擬瀏覽器環境 用一些庫來執行這些js 相關的庫大家都提到了
但是這些庫安裝起來好像都很麻煩 而且對內存和cpu的消耗比較大 基本上不推薦
還有一種就是手動分析 這種我覺得是比較好的 js的作用的確很多 但是爬蟲關注的是數據 js無非就是請求數據 或者請求回來以後再進行加工
總之它的數據肯定也有來源的 如果是網路請求來的 我們也請求這個數據就好了 如果是自己生成的同樣代碼模擬下就好了,只不過這種辦法可能比較消耗時間,51&cto♮學院有很多視頻可以參考,還有一點可以試試用nodejs跑js代碼 當然前提是那個代碼不涉及瀏覽器的一些內容 比如扣扣空間的密碼加密代碼 它就是將輸入的代碼加密成密文 這樣我們可以把這段加密函數直接保存下來 爬蟲時每次調用下就好。
❹ finereport為什麼會有phantomjs
如果是8.2.0版本及以後的新圖表插件,需要拷貝%FineReport_HOME%WEB-INF esources下的geojson文件夾、phantomjs文件夾和phantom.xml文件至伺服器WEB-INF esources
如果還有什麼具體的問題,可以到帆軟論壇求助http://bbs.fanruan.com/index.php
❺ 在命令行里輸入phantomjs --load-imgages=false ,就跳出來了
unlock()
釋放鎖,已經獲得鎖對象的線程在操作完數據後要釋放鎖,以便其他的線程重新獲得鎖來執行自己的操作,否則所有的試圖獲得鎖的線程都不能繼續向下執行。
❻ 易語言怎麼調用phantomjs
這個腳本默認在頁面載入結束後執行,你可以通過 js_run_at 參數 修改這個行為
由於是 AJAX 非同步載入的,在頁面載入完成時,第一頁的電影可能還沒有載入完,所以我們用 setTimeout延遲 1 秒執行。
你可以間隔一定時間,多次點擊,這樣可以載入更多頁。
❼ phantomjs 在thinkphp 下怎麼用
PhantomJS 是一個基於WebKit的伺服器端 javaScript API。它全面支持web而不需瀏覽器支持,其快速,原生支持各種Web標准: DOM 處理, CSS 選擇器, JSON, Canvas, 和 SVG。PhantomJS可以用於頁面自動化,網路監測,網頁截屏,以及無界面測試等。
已經是服務端的了,怎麼還能跟thinkPHP一起使用呢?
❽ highcharts怎麼在本地導出圖片,我在官網上看到有兩種方法,一種是php和batik,另一種是java和phantomjs
建議直接保存為 SVG 即可.
如果用 php/batik, java+phantomjs, 需要web伺服器的支持, 實際上還是在伺服器端調用java轉換類, 將 SVG(XML) 轉換為 png/jpeg/pdf 格式.
❾ 如何用PHP實現網頁截圖
代碼如下:
<?php
set_time_limit(60);
//截屏
$im=imagegrabscreen();
imagepng($im,"snap1.png");
//抓取IE窗口
$browser=newCOM("InternetExplorer.Application");
$handle=$browser->HWND;
$browser->Visible=true;
$im=imagegrabwindow($handle);
$browser->Quit();
imagepng($im,"snap2.png");
$im=imagegrabscreen();
//抓取IE窗口及窗口內容(IE為例)
$browser=newCOM("InternetExplorer.Application");
$handle=$browser->HWND;
$browser->Visible=true;
$browser->Navigate("http://www..com");
while($browser->Busy){
com_message_pump(4000);
}
$im=imagegrabwindow($handle,0);
$browser->Quit();
imagepng($im,"snap3.png");
//IE全屏模式
$browser=newCOM("InternetExplorer.Application");
$handle=$browser->HWND;
$browser->Visible=true;
$browser->FullScreen=true;
$browser->Navigate("http://www..com");
while($browser->Busy){
com_message_pump(4000);
}
$im=imagegrabwindow($handle,0);
$browser->Quit();
imagepng($im,"snap4.png");
//生成網站縮略圖
$browser=newCOM("InternetExplorer.Application");
$handle=$browser->HWND;
$browser->Visible=true;
$browser->Fullscreen=true;
$browser->Navigate("http://www..com");
while($browser->Busy){
com_message_pump(4000);//等待4秒
}
$im=imagegrabwindow($handle,0);//抓取網頁圖像,需要php5.2.2以上版本的支持
$browser->Quit();
$new_img=imagecreatetruecolor(200,150);
imageresampled($new_img,$im,0,0,0,0,200,150,1024,768);
imagejpeg($new_img,'snap5.jpg',100);
imagedestroy($new_img);
echo"Done!";
?>
❿ linux環境下怎麼用php調用phantomjs的js腳本
想做網頁快照的吧
http://www.cnblogs.com/lurenjiashuo/p/get-snapshot-and-create-thumbnail.html
麻煩的,主要就是搞許可權的問題,比如給php添加執行shell的許可權,文件寫入許可權等。看著慢慢調試吧