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