구글 검색결과를 curl로 긁어오는 질문 드립니다.
관련링크
본문
안녕하세요. 구글 검색결과를 저희 사이트에 표시하려고 합니다.
<?php
$search_title = "아이유";
$query=urlencode($search_title);
$url = "https://www.googleapis.com/customsearch/v1";
$url = sprintf("%s?q=%s&key=AIzaSyDF-6Nqf-wy4IdvtyXFOaB2doGEwrR-ILQ&cx=004088744444657810802:h_f1x4s1_ea&alt=json", $url, $query);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_REFERER, "http://www.thewedd.com/googletest.htm");
$body = curl_exec($ch);
curl_close($ch);
$json = json_decode($body);
print_r($json);
?>
이렇게 하니까 구글검색설정에 검색사이트 등록한범위내에서 결과가 맞게 뜨긴 하는데요
문제는 이걸 이용해서 어떻게 웹에 뿌리느냐 입니다.
전에 네이버api를 이용해서 비슷한 페이지를 제작한적이 있는데요.
그때 했던
$naverproxy = new NaverProxy();
// XML파일에서 원하는 항목만 추출하기
//echo $naverproxy -> queryNaver($_POST['query'], $_POST['target']);
$xmlstring = $naverproxy -> queryNaver($_POST['query'], $_POST['target']);
$xml = simplexml_load_string($xmlstring) or die("에러: 객체를 생성할 수 없습니다");
$items = $xml->channel->item;
$counts = count($items);
if(!empty($items)){
echo "<h4>블로그</h4>";
foreach($items as $item){
echo '<ul><li><a href="' . $item->link . '" target="_blank">' . $item->title . ' - ' .$item->bloggername. '</a><span>' . $item->description.'</span></li></ul>';
}
}
이 부분....이런부분을 제가 구글은 잘 모르겠습니다. 기초가 워낙 없이 예제소스만 그대로 따라하다보니까 응용이 잘 안되는데요....
위 구글검색도 아래 네이버처럼 해서 웹에 제가 필요한것만 띄우려면 어떻게 해야되나요?
!-->!-->답변 3
위처럼 작업 시 정규식 필요 없습니다.
$json->필드명
형식으로 접근 해 보세요.
정규식으로 문자열 잘라와서 출력하시면 됩니다.
정규식을 알아야합니다.
파싱의 경우에는 정규식이 필수이며 꽃입니다..
답변을 작성하시기 전에 로그인 해주세요.