RSSのページのソースを取得しXML library - PHPプロ!Q&A掲示板

2586

  • 300P

RSSのページのソースを取得しXML library

質問日時 / 2010年3月4日 23:19    回答数 / 4件

Questioner:  yumisaiki  このエントリーをはてなブックマークに追加 

キーワード / fopen    xml.php    ソースを取得   

お世話になっております。
ブログのRSS http://ikekumi.lovepop.jp/bg/?mode=rss&c=6
を取得して、
決まった形のXMLに変換し、最終的にはflashでカッコよく表示させたいと思っています。

XML Library(xml.php:Keith Devens .com)を使いたいと思いまして、試しに上記RSSのソースをコピペしてtest.xmlとして保存し、以下のPHPでデータを取得しました。

  1. <?php
  2. require_once('xml.php');
  3. $fp = fopen("test.xml""r");
  4. $xml = fread($fpfilesize("test.xml"));
  5. fclose($fp);
  6. $data = XML_unserialize($xml);
  7. var_dump($data);
  8. ?>

http://ikekumi.lovepop.jp/view/testxml.php

これはいいと思って、rssのソースを取得するfunctionを作ってみました。

  1. <?php
  2. require_once('xml.php');
  3. $rdf_url = "http://ikekumi.lovepop.jp/bg/?mode=rss&c=6";
  4.  
  5. function getURL( $pURL ) {
  6.    $_data = null;
  7.    if( $_http = fopen( $pURL"r" ) ) {
  8.       while( !feof( $_http ) ) {
  9.          $_data .= fgets( $_http);
  10.       }
  11.       fclose( $_http );
  12.    }
  13.    return( $_data );
  14. }
  15.  
  16. $_rawData = getURL($rdf_url);
  17.  
  18. $fp = fopen($_rawData"r");
  19. $xml = fread($fp);
  20. fclose($_rawData);
  21. $data = XML_unserialize($xml);
  22. var_dump($data);
  23.  
  24. ?>

すると
http://ikekumi.lovepop.jp/view/test.php
うまくいきません。
preg_match_all を使ってパターンによる抜き出しでもいいのですが、単にソースをXMLとして取得することができそうな気がしてしかたないです。 ご意見お願いします。

この質問への意見の募集は締め切られ、ポイントは既に配分されました。
意見を投稿することはできますが、ポイントを受け取ることはできません。



ツリー一覧

┣A01magicflute2PHPを使わずとも、AS3でRSS取得&XMLのパースは可能で
┃┗A01-1yumisaikiありがとうございます。simplexml_load_file のPHP5
┗A02signal>>CODE <?php require_once('xml.php'); $rdf_url
 ┗A02-1yumisaikiおっしゃるとおりで http://ikekumi.lovepop.jp/view

回答一覧

並び替え:

A01 参考になった
answerermagicflute2 [3月4日 23:57] (最終編集:3月5日 00:14)

PHPを使わずとも、AS3でRSS取得&XMLのパースは可能です。
RSSをファイルに落とすとかなら、PHPにも出番はあります。

[simplexml_load_file / User Contributed Notesを参照]
http://www.php.net/manual/ja/function.simplexml-load-file.php

この意見に回答する

ツリーへ TOPへ

A01-1
replyeryumisaiki [3月5日 06:25]

ありがとうございます。simplexml_load_file のPHP5が使えなかったものですから…

使おうと思っているフラッシュはhttp://www.simpleviewer.net/tiltviewer/ の無料 の方でして…
最終的にはこれに添付されているxmlの形にRSSを自動で書き直せたらいいのにな! みたいな質問でございます。
AS3も最近頑張っておりますが、こういう質問できる掲示板がなく難航しています。
http://yumisaiki.blogspot.com/2010/02/as3_16.html 

記録しながら勉強していますが、とっても孤独です。

この意見に回答する

ツリーへ TOPへ

A02 満足
answerersignal [3月5日 00:24]

  1. <?php
  2. require_once('xml.php');
  3. $rdf_url = "http://ikekumi.lovepop.jp/bg/?mode=rss&c=6";
  4.  
  5. function getURL( $pURL ) {
  6.    $_data = null;
  7.    if( $_http = fopen( $pURL"r" ) ) {
  8.       while( !feof( $_http ) ) {
  9.          $_data .= fgets( $_http);
  10.       }
  11.       fclose( $_http );
  12.    }
  13.    return( $_data );
  14. }
  15.  
  16. $_rawData = getURL($rdf_url);
  17.  
  18. $data = XML_unserialize($_rawData);
  19. var_dump($data);
  20.  
  21. ?>

かな…

この意見に回答する

ツリーへ TOPへ

A02-1
replyeryumisaiki [3月5日 06:28] (最終編集:3月6日 22:09)

おっしゃるとおりで
http://ikekumi.lovepop.jp/view/test3.php
あっさり解決しました!いつもsignal様にはお世話になっております。いつか会ってお礼がしたいくらいです。
またたぶん次の質問すると思いますのでよろしくお願いします。

fread とか考えてみたらいらないですね。もう格納されているのですから! 
相変わらずの初心者ぶりな自分の亀のような成長にしみじみとしました。

この意見に回答する

ツリーへ TOPへ

<<質問一覧へ



Pick Up Q&A

Q
動的なURLを静的に見せる方法
 このエントリーをはてなブックマークに追加 
A
普通に考えて、mod_rewrite でしょうね。 http://www.nishishi.com/blog/2006/01/mod_rewrite_url.html...

>>続きを読む

GETのままでは検索エンジンのロボットが拾ってくれなかったためにSEO対策として有効だと言われていますね。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)