스크린샷이 필요할때?
정밀한 스크린샷 말고 ... 정말 간단하게 페이지의 스크린샷 또는 스냅샷이 필요할 경우
구글 runpagespeed API 를 이용해 보세요.
장점
1.유료 모듈이 아니며 어떠한 클래스 설치가 없이도 사용 가능 합니다.
2.스냅샷이 가능 합니다.
3.키 발급이 필요 없기 때문에 쉽게 사용 가능 합니다.
단점
1.스크린샷 이미지의 너비는 320px 고정입니다.
2.고해상도 스냅샷에는 적합하지 않습니다.
3.Falsh 또는 Java 와 같은 플러그인들은 작동하지 않습니다.
4.복잡한 Javascript 는 거의 작동하지 않습니다.
5.구글을 통해서 스크린샷을 구성하기 때문에 다소 느립니다.
페이지 전체를 캡쳐 할 수 있도록 다음버젼에서 제공되면 느려도 사용할 가치가 충분하다고 봅니다.
<?PHP
$API_URL = "https://www.googleapis.com/pagespeedonline/v4/runPagespeed?";
$SITE_URL = "https://www.naver.com";
$FILTER_THIRD_PARTY_RESOURCES = ""; //default:false
$LOCALE = ""; //default:false
$RULE = ""; //default:false
$SCREENSHOT = "true"; //default:false
$SNAPSHOTS = "true"; //default:false
$STRATEGY = "mobile"; //default:desktop or mobile
$UTM_CAMPAIGN = "";
$UTM_SOURCE = "";
$GOOGLE_PAGESPEED_URL = $API_URL."url=".$SITE_URL."&screenshot=".$SCREENSHOT."&snapshots=$SNAPSHOTS"."&strategy=$STRATEGY";
$googlePagespeedData = file_get_contents($GOOGLE_PAGESPEED_URL); //구글 API 호출
$googlePagespeedData = json_decode($googlePagespeedData, true); //디코드
/*스냅샷 코드 시작*/
foreach( $googlePagespeedData['snapshots'] as $key => $value ) //스냅샷 수만큼 확인하기
{
$screenshot = $value['data'];
$screenshot = str_replace(array('_','-'),array('/','+'),$screenshot);
echo "<img src=\"data:image/jpeg;base64,".$screenshot."\" /> <hr>";
}
/*스냅샷 코드 종료*/
/*스크린샷 코드 시작*/
$screenshot = $googlePagespeedData['screenshot']['data'];
$screenshot = str_replace(array('_','-'),array('/','+'),$screenshot);
$screenshot64 = str_replace('data:image/jpeg;base64,', '', $screenshot);
$screenshot64 = str_replace(' ', '+', $screenshot64);
echo "<img src=\"data:image/jpeg;base64,".$screenshot."\" />";
/*스크린샷 코드 종료*/
file_put_contents('file.jpg', base64_decode($screenshot64)); //스크린샷 내용을 파일러 저장하기!!
?>
게시글 목록
| 번호 | 제목 |
|---|---|
| 17657 | |
| 17655 | |
| 17654 | |
| 17653 |
JavaScript
ThreeJS - 3D Bar and Progress Bar
1
|
| 17652 |
node.js
RAM점유크기에 의한 노드서버관리
|
| 17651 |
JavaScript
Javascript Undo, Redo 기능 구현하기
|
| 17650 | |
| 17642 |
node.js
nodejs서버가 사용중인 메모리에 대한 로그
|
| 17633 |
node.js
node.js에서 스케쥴링작성
8
|
| 17632 | |
| 17631 |
MySQL
InnoDB와 MyISAM의 우단점
|
| 17630 | |
| 17628 |
JavaScript
자바스크립트 기반으로 HTML Canvas에 이미지를 불러들여 테두리색입히기
|
| 17624 | |
| 17623 | |
| 17620 |
node.js
tcp소켓과 websocket 의 비교
2
|
| 17618 |
JavaScript
JavaScript로 이미지의 부분 영역을 따내기
|
| 17617 | |
| 17614 | |
| 17612 | |
| 17611 | |
| 17610 | |
| 17609 | |
| 17608 |
node.js
Node.js로 지속적인 핑 결과를 파일로 저장
|
| 17607 |
정규표현식
특수문자 제거, 우리글짜가 있는지 체크
|
| 17604 |
node.js
Node.js에서 PDF 파일의 페이지 수를 얻기
|
| 17603 | |
| 17602 |
node.js
Node.js로 워터마킹 기능을 구현하는 방법
|
| 17600 | |
| 17594 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기