Skip to content
조회 수 33577 추천 수 0 댓글 1
?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

네이버 많이 본 뉴스 PHP로 RSS 출력 만들기


네이버의 http://news.naver.com/main/ranking/popularDay.nhn?date=20090805&sectionId=000&rankingType=popular_day 가보시면 하루동안 가장 많이 본 뉴스

리스트가 나옵니다. 최상위 5개는 이미지도 나와서 보기가 좋습니다.


주소 중 sectionId= 부분에서 000은 


000="전체" 100 = "정치" 101="경제" 102="사회" 103="생활문화" 104="세계" 105="IT/과학" 107="스포츠" 106="연예" 115="TV"


이렇습니다.


아래의 내용을  test.php로 저장한 뒤 문서저장한 위치가 localhost 이라면


localhost/test.php?uuu=000     => 전체

localhost/test.php?uuu=100     => 정치


등으로 변수를 주어 사용할 수 있습니다.

uuu는 제가 변수줄때 자주쓰는거라 그냥 별뜻없이 uuu를 선택했습니다. ^^;;




//======================================================================================


<?

// echo date("Ymd",strtotime("now"));// 앞의 슬러쉬 // 를 제거해보세요.^^;;
$dat = date("Ymd",strtotime("now"));
// 000="전체" 100 = "정치" 101="경제" 102="사회" 103="생활문화" 104="세계" 105="IT/과학" 107="스포츠" 106="연예" 115="TV"
//http://news.naver.com/main/ranking/popularDay.nhn?date=20090805&sectionId=101&rankingType=popular_day

 

$a = file('http://news.naver.com/main/ranking/popularDay.nhn?date='.date("Ymd",strtotime("now")).'&sectionId='.$uuu.'&rankingType=popular_day');

$bae = 0;

for($i=0;$i<count($a);$i++)
 {
 if(ereg('<div class="ranking_relation">',$a[$i])) $cc = 1;
 if(ereg('<div class="list_body ranking_body">',$a[$i])) $cc = 0;

 if($cc == 1)
  {
  if(ereg('<img src="',$a[$i]))
    {
    $imga = explode('<img src="',$a[$i]);
    $imga = explode('"',$imga[1]);
    $img[$bae] = $imga[0];
//    echo $img[$bae];
    $linka = explode('<a href="',$a[$i-1]);
    $linka = explode('">',$linka[1]);
    $link[$bae] = $linka[0];

    $titlea = explode('alt="',$a[$i+1]);
    $titlea = explode('"',$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">'.chr(13);
$content .= ' <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><img src="'.$img[$i].'"></description>'.chr(13);
  $cate = explode(',',$tag[$i]);

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

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


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


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

print $content;

 

?>








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

?

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


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

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

설치 취소