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);


?>

 

 

 

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

?

List of Articles
번호 분류 제목 날짜 조회 수
57 컴퓨터잡담 PHP로 FTP 접속 / 업로드 / 다운로드 등의 컨트롤 소스 2 3 2009.10.20 32766
56 컴퓨터잡담 CURL 을 이용한 GET/POST 값 넘기기 3 2009.06.30 32810
55 Visual C++ C# - etrade api site 게시물 1 2013.02.20 32889
54 AutoHotKey autohotkey) 30분마다 자동으로 디스크 정리하기 file 2013.07.31 33070
53 컴퓨터잡담 네이버 많이 본 뉴스 PHP로 RSS 출력 만들기 1 file 2009.08.05 33674
52 AutoHotKey autohotkey) 오토핫키에서 자주쓰는 함수모음 2013.10.30 33685
51 컴퓨터잡담 TIME_WAIT 줄이기(소켓이 부족하여 프로세스 강제중단을 막기위해) 4 2009.11.30 34111
50 컴퓨터잡담 옵티머스G 배터리 일체형은 절대 비추천합니다. 21 5 file 2012.09.18 34148
49 컴퓨터잡담 IPTIME N904 모델에서 멀티캐스트 프로토콜(IGMP) 설정하는 방법 file 2013.10.08 34274
48 AutoHotKey ahk) autohotkey 글자 자르기 방법 2013.10.30 34672
47 AutoHotKey autohotkey) Virus? 6 2011.12.31 34679
46 컴퓨터잡담 .htaccess와 워터마킹을 이용한 이미지 링크 방지 2009.06.30 34918
45 컴퓨터잡담 자바스크립트/CSS 트리를 이용한 예제 프로그램 쉽게만들기 2 2009.06.30 35635
44 AutoHotKey Autohotkey) Find WM_COMMAND parameter with Winspector 17 2012.02.22 35869
43 파이썬 DiffusionWrapper has 859.52 M params. 2023.04.21 37395
42 AutoHotKey ahk) autohotkey 엑셀(Excel)에서 행값 증가시키기 2013.10.30 37416
41 컴퓨터잡담 다른 윈도우 창 프로그램 제어 1 2009.12.03 37786
40 컴퓨터잡담 테블릿을 세컨트모니터로??? 2023.04.26 38064
39 WindowsTip 네트워크에 있는 다른 시스템과 ip 주소가 충돌합니다. 1 file 2013.03.29 38112
38 AutoHotKey ahk) 오토핫키 콤보박스 제어하기 file 2013.10.30 38180
Board Pagination Prev 1 ... 42 43 44 45 46 Next
/ 46

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


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

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

설치 취소