Skip to content
컴퓨터잡담
2009.08.05 12:55

네이버, 다음지식 php로 RSS 출력 만들기

조회 수 31009 추천 수 0 댓글 1
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

네이버, 다음지식 php로 RSS 출력 만들기



RSS 수집을 하기위해 PHP로 RSS출력하는 소스를 만들어 보았습니다.


출력 내용은 제목, 링크주소, 태그 3개로 구성했습니다.


잘 나오는 것 같습니다.




 

 

 

 

<?


$a = file('http://kin.naver.com/open_home.php');

$bae = 0;

for($i=0;$i<count($a);$i++)
 {
 if(ereg('<div style="width:100%;">',$a[$i])) $cc = 1;
 if(ereg('<!-- //MAIN CONTENTS -->',$a[$i])) $cc = 0;

 if($cc == 1)
  {
  if(ereg('<td class="name"><a href="',$a[$i]))
    {
    $taga = explode('<td class="name"><a href="',$a[$i]);
    $taga = explode('</a>',$taga[1]);
    $tag[$bae] = $taga[0];
//    echo $tag[$bae];
    }
  if(ereg('<a href="/open100/db_detail.php?',$a[$i]))
    {
    $linka = explode('<a href="',$a[$i]);
    $linka = explode('" onMouseOver',$linka[1]);
    $link[$bae] = $linka[0];

    $titlea = explode(');">',$a[$i]);
    $titlea = explode('</a>',$titlea[1]);
    $title[$bae] = $titlea[0];

//    echo $link[$bae];
//    echo $title[$bae];

    $bae++;
    }
  }
 } //for_end

$content .= '<?xml version="1.0"?>'.chr(13);
$content .= '<rss version="2.0"><channel xmlns:psl="http://rainbow.daum.net/psl">'.chr(13);
$content .= '  <title>네이버지식 오픈사전</title>'.chr(13);
$content .= '  <link>http://kin.naver.com/open_home.php</link>'.chr(13);
$content .= '  <description>네이버지식 오픈사전</description>'.chr(13);
$content .= '  <pubDate></pubDate>'.chr(13);
$content .= '  <language>ko</language>'.chr(13);
$content .= '  <copyright>Copyright ⓒ NHN Corp. All Rights Reserved.</copyright>'.chr(13);
$content .= '  <webMaster>master@naver.com</webMaster>'.chr(13);
$content .= '  <generator>Naver</generator>'.chr(13);
$content .= '  <docs></docs>'.chr(13);
$content .= '  <ttl>20</ttl>'.chr(13);
$content .= '  <image>'.chr(13);
$content .= '  <url>http://static.naver.com/common/snb/090513/h_naver2.gif</url>'.chr(13);
$content .= '  <title>Naver RSS</title>'.chr(13);
$content .= '  <link>http://www.naver.com</link>'.chr(13);
$content .= '  </image>'.chr(13);

 

 

 

for($i=0;$i<count($title);$i++)
 {

  $content .= '  <item>'.chr(13);
  $content .= '  <title>'.$title[$i].'</title>'.chr(13);
  $content .= '  <link>http://kin.naver.com'.htmlspecialchars($link[$i]).'</link>'.chr(13);
  $content .= '  <description>'.$description.'</description>'.chr(13);
  $cate = explode(',',$tag[$i]);

  if($cate[0]) {$content .= ' <category>'.$cate[0].'</category>'.chr(13);}
  if($cate[1]) {$content .= ' <category>'.$cate[1].'</category>'.chr(13);}
  if($cate[2]) {$content .= ' <category>'.$cate[2].'</category>'.chr(13);}
  if($cate[3]) {$content .= ' <category>'.$cate[3].'</category>'.chr(13);}
  if($cate[4]) {$content .= ' <category>'.$cate[4].'</category>'.chr(13);}

//  for($ii=0;$ii<count($cate);$i++)
//   { echo '<category>'.$cate[$ii].'</category>'; }


  $content .= '</item>'.chr(13);
 }//for_end


$content .= '</channel>'.chr(13);
$content .= '</rss>'.chr(13);

 

?>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

<?
$now=time();

$a = file('http://k.daum.net/qna/openknowledge/list.html?category_id=D');

$bae = 0;

for($i=0;$i<count($a);$i++)
 {
 if(ereg('<dl class="bList listTbar">',$a[$i])) $cc = 1;
 if(ereg('<!-- [openList] End -->',$a[$i])) $cc = 0;

 if($cc == 1)
  {
  if(ereg('class="bB12">',$a[$i]))
    {
    $taga = explode('class="bB12">',$a[$i]);
    $taga = explode('</a></dd>',$taga[1]);
    $tag[$bae] = $taga[0];
//    echo $tag[$bae];
    }
  if(ereg('<a href="/qna/openknowledge/view.html?',$a[$i]))
    {
    $linka = explode('<a href="',$a[$i]);
    $linka = explode('">',$linka[1]);
    $link[$bae] = $linka[0];

    $titlea = explode('">',$a[$i]);
    $titlea = explode('</a>',$titlea[1]);
    $title[$bae] = $titlea[0];

//    echo $link[$bae];
//    echo $title[$bae];

    $bae++;
    }
  }
 } //for_end

 

 

 

//header('Content-Type: text/xml; charset=euc-kr');

$content .= '<?xml version="1.0"?>'.chr(13);
$content .= '<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/">'.chr(13);
$content .= '  <channel>'.chr(13);
$content .= ' <title>다음지식 오픈사전</title>'.chr(13);
$content .= ' <link>http://k.daum.net/qna/</link>'.chr(13);
$content .= ' <description>다음지식 오픈사전입니다.</description>'.chr(13);
$content .= ' <language>ko</language>'.chr(13);
$content .= ' <pubDate>'.date("D, d M Y H:i:s",$now).'</pubDate>'.chr(13);
$content .= ' <lastBuildDate>'.date("D, d M Y H:i:s",$now).'</lastBuildDate>'.chr(13); 
$content .= ' <generator>Urin79. Daum_openDIC_RSS</generator>'.chr(13);

 

for($i=0;$i<10;$i++)
 {

  $content .= ' <item>'.chr(13);

  $content .= '  <title>'.$title[$i].'</title>'.chr(13);
  $content .= '  <link>http://k.daum.net'.htmlspecialchars($link[$i]).'</link>'.chr(13);
  $content .= '  <description>'.$title[$i].'</description>'.chr(13);


  $cate = explode(',',$tag[$i]);

  if($cate[0]) {$content .= '  <category>'.$cate[0].'</category>'.chr(13);}
  if($cate[1]) {$content .= '  <category>'.$cate[1].'</category>'.chr(13);}
  if($cate[2]) {$content .= '  <category>'.$cate[2].'</category>'.chr(13);}
  if($cate[3]) {$content .= '  <category>'.$cate[3].'</category>'.chr(13);}
  if($cate[4]) {$content .= '  <category>'.$cate[4].'</category>'.chr(13);}

//  for($ii=0;$ii<count($cate);$i++)
//   { echo '<category>'.$cate[$ii].'</category>'; }


  $content .= ' </item>'.chr(13).chr(13);
 }//for_end

 

$content .= '</channel>'.chr(13);
$content .= '</rss>'.chr(13);


print $content;

// $file_pointer = fopen("../../temp/daum_man_rss.xml", "w");
//  $context = $content;
// fwrite($file_pointer, $context);
// fclose($file_pointer);


?>

 

 

 

로그인 후 댓글쓰기가 가능합니다.

?

  1. 26
    Oct 2010
    16:26

    여호와의 증인의 신앙

    Category유용한상식 Views7466
    Read More
  2. 26
    Oct 2010
    12:58

    인터넷 광랜 위약금 없이 해지하는 방법

    Category유용한상식 Views16994
    Read More
  3. 25
    Oct 2010
    18:18

    레지스트리 팁 - 로그오프하지 않고 반영하기

    Category컴퓨터잡담 Views5276
    Read More
  4. 11
    Oct 2010
    17:32

    Autohotkey 파일 저장시 한글 깨짐 현상

    Category컴퓨터잡담 Views11160
    Read More
  5. 11
    Oct 2010
    00:05

    javascript만으로 폼전송

    Category컴퓨터잡담 Views13313
    Read More
  6. 10
    Oct 2010
    23:51

    [javascript_tip]자바스크립트 값 넘기기

    Category컴퓨터잡담 Views18961
    Read More
  7. 10
    Oct 2010
    23:49

    자바스크립트로 전송(submit) 버튼 누르기

    Category컴퓨터잡담 Views103612
    Read More
  8. 09
    Oct 2010
    12:54

    [엑셀] SUMPRODUCT 함수 이용, 조건에 따른 중복항목 제외 후 카운트하는 함수

    Category컴퓨터잡담 Views14570
    Read More
  9. 04
    Oct 2010
    08:25

    [엑셀] 와일드카드 문자의 변환처리 방법

    Category컴퓨터잡담 Views10959
    Read More
  10. 02
    Oct 2010
    13:31

    레지스트리 컨트롤로 XP의 가상메모리 페이징 파일의 강제 자동설정을 끌 수 있는 방법

    Category컴퓨터잡담 Views9074
    Read More
Board Pagination Prev 1 ... 196 197 198 199 200 ... 235 Next
/ 235

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소