컴퓨터잡담

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

by 디케 posted Aug 05, 2009
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

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

네이버, 다음지식 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);


?>

 

 

 


Articles

1 2 3 4 5