크롤링 라이브러리 스누피(Snoopy) 사용시 노하우 팁!
특정사이트를 크롤링 해야하는데, 크롤링하니 계속 클라우드 플래어 메세지가 출력되었다.
클라우드 플레어에 막혔다고 판단내렸다.
그런데 문제해결은 생각보다 너무 간단하게 끝나버렸다.
agent 값을 교체했더니 바로 해결되어버렸다 -_-;
생각보다 크롤링에서 agent 값을 많이 타나보다...
===============================================================
include_once "Snoopy.class.php";
$snoopy = new Snoopy();
$url = 사이트주소;
$parse_url = parse_url($url);
$protocol = $parse_url['scheme']; // http , https
$host = $parse_url['host']; // naver.com
$refer = $protocol . "://" . $host;
$snoopy->referer = $refer;
//$snoopy->agent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)"; //기존소스
$snoopy->agent = $_SERVER['HTTP_USER_AGENT']; //해결소스
$snoopy->submit($url);
$snoopy->setcookies();
$snoopy->fetch($url);
$result = $snoopy->results;
===========================================================
실제로 HTTP_USER_AGENT 값에는
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36
위 값이 들어있다. 왜 저거만 되는지는 모르겠다...
누가 알려줄 사람이 없나요???