내꿈은개발자

쿠팡 크롤링 요청시 먹통 상태 헤더값 입력

행복을전해요 2020. 3. 10. 00:41

쿠팡 메인페이지 크롤링 요청시 헤더값이 없으면 로봇으로 인식하고 응답하지 않는다 

 

그래서 헤더값을 얻기위한 사이트 

 

http://www.useragentstring.com/

 

UserAgentString.com - unknown version

 

www.useragentstring.com

 

 

<?php
$url = 'https://www.coupang.com/vp/product/reviews?productId=133071001&page=1&size=5&sortBy=ORDER_SCORE_ASC&ratings=&q=&viRoleCode=3&ratingSummary='; //접속할 url 입력
  
$ch = curl_init(); //curl 사용 전 초기화 필수(curl handle)
 
$header_data ="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36";

curl_setopt($ch, CURLOPT_URL, $url); //URL 지정하기
curl_setopt($ch, CURLOPT_POST, 1); //0이 default 값이며 POST 통신을 위해 1로 설정해야 함
curl_setopt ($ch, CURLOPT_POSTFIELDS, $post_data); //POST로 보낼 데이터 지정하기
curl_setopt ($ch, CURLOPT_POSTFIELDSIZE, 0); //이 값을 0으로 해야 알아서 &post_data 크기를 측정하는듯
 
curl_setopt($ch, CURLOPT_HEADER, true);//헤더 정보를 보내도록 함(*필수)
curl_setopt($ch, CURLOPT_HTTPHEADER, $header_data); //header 지정하기
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 0); //이 옵션이 0으로 지정되면 curl_exec의 결과값을 브라우저에 바로 보여줌. 이 값을 1로 하면 결과값을 return하게 되어 변수에 저장 가능(테스트 시 기본값은 1인듯?)
$res = curl_exec ($ch);

 
var_dump($res);//결과값 확인하기
echo '<br>';
print_r(curl_getinfo($ch));//마지막 http 전송 정보 출력
echo curl_errno($ch);//마지막 에러 번호 출력
echo curl_error($ch);//현재 세션의 마지막 에러 출력
curl_close($ch);
?>