테스트 사이트 - 개발 중인 베타 버전입니다

구글 검색결과를 curl로 긁어오는 질문 드립니다. 채택완료

kujira 8년 전 조회 3,450

안녕하세요. 구글 검색결과를 저희 사이트에 표시하려고 합니다.

</p>

<p><?php</p>

<p>$search_title = "아이유";</p>

<p>$query=urlencode($search_title);

$url = "<a href="https://www.googleapis.com/customsearch/v1";" target="_blank" rel="noopener noreferrer">https://www.googleapis.com/customsearch/v1";</a>

$url = sprintf("%s?q=%s&key=AIzaSyDF-6Nqf-wy4IdvtyXFOaB2doGEwrR-ILQ&cx=004088744444657810802:h_f1x4s1_ea&alt=json", $url, $query);</p>

<p>$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_REFERER, "<a href="http://www.thewedd.com/googletest.htm");" target="_blank" rel="noopener noreferrer">http://www.thewedd.com/googletest.htm");</a></p>

<p>$body = curl_exec($ch);

curl_close($ch);</p>

<p>$json = json_decode($body);</p>

<p>print_r($json);

?></p>

<p>

이렇게 하니까 구글검색설정에 검색사이트 등록한범위내에서 결과가 맞게 뜨긴 하는데요

문제는 이걸 이용해서 어떻게 웹에 뿌리느냐 입니다.

 

전에 네이버api를 이용해서 비슷한 페이지를 제작한적이 있는데요.

그때 했던

</p>

<p>$naverproxy = new NaverProxy();

    // XML파일에서 원하는 항목만 추출하기

    //echo $naverproxy -> queryNaver($_POST['query'], $_POST['target']);

    $xmlstring = $naverproxy -> queryNaver($_POST['query'], $_POST['target']);</p>

<p>    $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>';

        }

    }</p>

<p>

이 부분....이런부분을 제가 구글은 잘 모르겠습니다. 기초가 워낙 없이 예제소스만 그대로 따라하다보니까 응용이 잘 안되는데요....

위 구글검색도 아래 네이버처럼 해서 웹에 제가 필요한것만 띄우려면 어떻게 해야되나요?

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트
C
8년 전

위처럼 작업 시 정규식 필요 없습니다.

 

$json->필드명

 

형식으로 접근 해 보세요.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

k
kujira
8년 전
$json->필드명으로 접근해야 된다는건 대충 알겠습니다만 문제는 필드명이 무엇이고 어디서 알 수 있냐는 겁니다...ㅠㅠ 제가 전혀 이쪽으로 문외한이라서요;;;;짧게나마 예를 들어서 설명해주실수 있으신가요?
그림자밟기
8년 전
print_r($json); 에서 나오는 값 보시면 필드명이랑 값이랑 출력됩니다. 그거 보고 작업하시면 되요.

댓글을 작성하려면 로그인이 필요합니다.

그누위즈

정규식을 알아야합니다.

파싱의 경우에는 정규식이 필수이며 꽃입니다..

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

8년 전

정규식으로 문자열 잘라와서 출력하시면 됩니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인