네이버 키워드 api 크롤링하여 가져온 데이터 DB로 저장

네이버 키워드 api 크롤링하여 가져온 데이터 DB로 저장

QA

네이버 키워드 api 크롤링하여 가져온 데이터 DB로 저장

답변 3

본문

안녕하세요?

그누위즈님이 올려주신 스킨으로 https://sir.kr/g5_skin/15410

키워드 크롤링하여 보여주는 게시판을 구현하였는데요.

그게 그냥 크롤링을 해온것이라 디비로 저장이 안되더라구요~

혹시 디비로 저장하려면 어떻게 해야할지 문의드려도 될까요?

 

제가 초보라 잘 몰라서

       <input type="hidden" name="bo_table" value="naver_blog">
       <input type="hidden" name="wr_name" value="<?php echo $item->bloggername ?>">
       <input type="hidden" name="wr_datetime" value="<?php echo $date_time ?>">

이런식으로 하였더니 저장이 안되더라구요.

 

  <tbody>
        <?php
            $i = 0;
            foreach($items as $item){ 
                $wr_datetime = date("Y-m-d", strtotime($item->postdate));
                $wr_subject = conv_subject($item->bloggername, 20, '…'); // 블로그 이름 글자수
                $mb_id = substr($item->bloggerlink, 23, 20); // 블로그 이름 글자수
                //print_r2($item);
        ?>
       <tr>
             <td class="td_num"><?=$target_title?></td>
            <td class="td_subject">
                <a href="<?=$item->link?>" target="_blank">
                    <?=$item->title?>
                </a>
            </td>
            <?php if($target == "blog") { ?>
            <td class="td_name sv_use"><a href="<?=$item->bloggerlink?>" target="_blank"><?=$wr_subject?></a></td>
            <td class="td_name2 sv_use"><?=$mb_id?></td>
            <?php } ?>
            <td class="td_date"><?=$wr_datetime?></td>
        </tr>

         <!--  <tr>
          <td class="td_num"><?=$target_title?></td>
          <td class="td_name sv_use"><?php echo $list[$i]['wr_subject'] ?></td>
          <td class="td_name sv_use"><?php echo $list[$i]['wr_name'] ?></td>
          <td class="td_name2 sv_use"><?php echo $list[$i]['mb_id'] ?></td>
          <td class="td_date"><?php echo $list[$i]['wr_datetime'] ?></td>
          </tr>--> 이부분이 안되어서 주석처리해두었는데..어떻게 변경해야할까요?


        <?php
            $i++;
            } 
        ?>
        <?php if ($total_count == 0) { echo '<tr><td colspan="'.$colspan.'" class="empty_table">'.$target_title.' 검색 결과가 없습니다.</td></tr>'; } ?>
        </tbody>

이 질문에 댓글 쓰기 :

답변 3

스킨형태로 만드시는것이라면

 

write.skin.php파일을 참고하셔서

 

크롤링한 값들이

각 위치에 맞게 적용되서 , 선택하여 저장하도록 하는 방법이 가능할것이구요

 

크롤링한값을 무조건저장하려면

eyekiss 님이 적어두신 방법으로 해야하는데

 

$num 부분은  /bbs/write_update.php 파일에서 참고하셔서 추출해야 합니다.

 

아래 소스를 참조해서 넣어줘야하는데요..

문제는 새로 고침할때마다 저장될 수 있겠네요.

소스에 변수들을 설정해주고,

중복 저장 안되도록 처리하는 부분도 개발해줘야 합니다.


    $sql = " insert into $write_table
                set wr_num = '$wr_num',
                     wr_reply = '$wr_reply',
                     wr_comment = 0,
                     ca_name = '$ca_name',
                     wr_option = '$html,$secret,$mail',
                     wr_subject = '$wr_subject',
                     wr_content = '$wr_content',
                     wr_seo_title = '$wr_seo_title',
                     wr_link1 = '$wr_link1',
                     wr_link2 = '$wr_link2',
                     wr_link1_hit = 0,
                     wr_link2_hit = 0,
                     wr_hit = 0,
                     wr_good = 0,
                     wr_nogood = 0,
                     mb_id = '{$member['mb_id']}',
                     wr_password = '$wr_password',
                     wr_name = '$wr_name',
                     wr_email = '$wr_email',
                     wr_homepage = '$wr_homepage',
                     wr_datetime = '".G5_TIME_YMDHIS."',
                     wr_last = '".G5_TIME_YMDHIS."',
                     wr_ip = '{$_SERVER['REMOTE_ADDR']}',
                     wr_1 = '$wr_1',
                     wr_2 = '$wr_2',
                     wr_3 = '$wr_3',
                     wr_4 = '$wr_4',
                     wr_5 = '$wr_5',
                     wr_6 = '$wr_6',
                     wr_7 = '$wr_7',
                     wr_8 = '$wr_8',
                     wr_9 = '$wr_9',
                     wr_10 = '$wr_10' ";
    sql_query($sql);
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 78
© SIRSOFT
현재 페이지 제일 처음으로