레드베어

스크린샷이 필요할때?

· 2018-11-08 (목) 21:15:20 · 2868

정밀한 스크린샷 말고 ... 정말 간단하게 페이지의 스크린샷 또는 스냅샷이 필요할 경우 

 

구글 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));    //스크린샷 내용을 파일러 저장하기!!
?>

첨부파일

index.php (1.6 KB) 4회 2018-11-08 21:15
|
댓글을 작성하시려면 로그인이 필요합니다.

개발자팁

5,403건

개발과 관련된 유용한 정보를 공유하세요. 질문은 QA에서 해주시기 바랍니다.

+
분류 제목 글쓴이 날짜 조회
node.js 19-01-11 조회 2,903
node.js 19-01-10 조회 2,586
node.js 19-01-10 조회 2,685
node.js 19-01-10 조회 2,412
node.js 19-01-09 조회 2,640
node.js 19-01-09 조회 2,792
node.js 19-01-09 조회 3,023
웹서버 19-01-04 조회 3,521
PHP 18-12-18 조회 2,843
웹서버 18-12-07 조회 2,454
JavaScript 18-12-06 조회 3,202
node.js 18-11-29 조회 4,309
기타 18-11-20 조회 4,856
기타 18-11-19 조회 2,878
기타 18-11-19 조회 2,581
기타 18-11-19 조회 2,637
Mobile 18-11-09 조회 2,856
JavaScript 18-11-08 조회 2,874
기타 18-11-08 조회 2,869
jQuery 18-11-06 조회 3,112
PHP 18-10-31 조회 5,905
jQuery 18-10-29 조회 5,767
기타 18-10-12 조회 3,353
MySQL 18-10-11 조회 4,743
기타 18-10-11 조회 2,832
웹서버 18-10-07 조회 3,054
MySQL 18-10-04 조회 2,842
MySQL 18-10-02 조회 3,315
JavaScript 18-10-02 조회 1.1만
웹서버 18-09-29 조회 2,978