top


総投稿数 本 
no_

スポンサーサイト

 --------
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
カテゴリ :スポンサー広告 トラックバック(-) コメント(-)
no_1138

ニュースの取得 MagpieRSS:やっぱりPHPだね?ライブラリやツールが豊富で、情報も多いし ・・・ 【やっぱりPHPだね】

 2009-10-31
 鳩山首相
 「ありうべし」発言!強烈!
 ・たばこが一箱500円になる!?
  これはねぇ・・・
  ・・・お、おっと。この話題はここじゃないな。
  ややこしいけど仕方がない。

   > 続きは 禁煙metaboy で。


 さて、今日のネタは。
 ほっと一息、PHP
 サイトに特定のキーワードのニュース情報を
 掲載したく、(いつも利用させてもらってます)
 ・Google newsMagpieRSS
  の仕組みを実装。


 いつもやってるんだけど、今日作業したサイトは
 EUC-JP だったから、ちょっとメモしとかなくちゃ。


  追記に ▼


 ※ところで、こちらは・・・
◇今日のGoogle(2009/10/31)
今日のGoogle(2009/10/31)
※今年も来ましたね。
 (私には何の関係も無い)ハロウィーン

FC2ブログランキング にほんブログ村 IT技術ブログ Webサイト構築へ ブログ王ランキング 人気ブログランキング 人気ホームページランキングへ


more

************************************************
◎ Google news + MagpieRSS、の巻:やっぱりPHPだね
************************************************


 サイトはこちら。

MagpieRSS: RSS for PHP
MagpieRSS: RSS for PHP ダウンロードは、
 ・sourceforge だ。
  ・MagpieRSS



 ・・・magpierss-0.72.tar.gz
   (Sat Nov 05 2005 21:25)の古いものだけど
   未だにこれが好き。

  時には、
  ・XML/Unserializer.php とか
   使ってもやるけど、


  JavaScriptなら、jQuery
  PHPなら、(この)MagpieRSS 遣うことが多いね
  RSSなど、XMLパース
  ※今はもっといのが他にあるんだろうけど。


 


 ■実装
  □Googleのニュース取得
   ・そんなにがんがん検索するものではないので
    今回は、API利用せず、直接
http://news.google.co.jp/news?ned=us&ie=EUC-JP&oe=UTF-8&q=".$str_encode."&output=atom&num=".$num."&hl=ja";
 でゆく。
   もちろん Powerd by Google 付けて。

  □MagpieRSS
   ・ダウンロードして
    [(target_dir)]
      [cache]
      [rss]
      とフォルダ用意。


     ・[cache]フォルダは、書き込み可能にして、
      [rss]に、
       [extlib] ※ダウンロードしたまんま
       ・rss_fetch.inc
       ・rss_parse.inc
       ・rss_cache.inc
       ・rss_utils.inc
用意


   ・利用するphpファイルは


    [(target_dir)] 上で動作させるのだけど・・・
<?
define('MAGPIE_CACHE_AGE','7200'); # cache 2時間
define('MAGPIE_CACHE_DIR', './cache'); # cache用フォルダ
define('MAGPIE_OUTPUT_ENCODING', 'UTF-8'); # 文字コード
require_once './rss/rss_fetch.inc';

$str_encode=urlencode("特定の文字列"); # へへ、秘密
$num=30; # 表示件数
$url = "http://news.google.co.jp/news?ned=us&ie=EUC-JP&oe=UTF-8&q=".$str_encode."&output=atom&num=".$num."&hl=ja";
$rss = fetch_rss($url);
$title = $rss->channel['title'];
$tempnum=0;
echo "<ul>\n";
foreach($rss->items as $key => $value){ ?>
<li><a href="<? echo htmlspecialchars(mb_convert_encoding($value['link'], "EUC-JP", "auto")); ?>" target="_blank"><? echo htmlspecialchars(mb_convert_encoding($value['title'], "EUC-JP", "auto")); ?></a></li>
<? $tempnum++;
}
echo "</ul>\n";
?>
 有難いですねぇ。こんなに簡単に利用できて。

 


 ■留意
  ※今日の作業サイトは EUC-JP のサイト
   だった。

  ・ファイルなどサイトのものは
   すべて、EUC-JPベース。


  1:Googleへのアクセス

&ie=EUC-JP&oe=UTF-8
 とする

 2:基本の動きは、utf-8 で行い


    値を得た後に、mb_convert_encoding
    ※MagpieRSSに EUC-JPの対応は無く
     ・rss_parse.inc の
// define some constants
var $_KNOWN_ENCODINGS = array('UTF-8', 'US-ASCII', 'ISO-8859-1');
 このあたりに追加したり、他も
 関係ありそうなところ修正する
 方法があるようだが、あえて、
 基本ベース utf-8 で動かす。

 別に目新しくも無いけど、作業記録、で。

commentsコメント
comment_post












管理者にだけ表示を許可する
commentトラックバック
トラックバックURL:
http://metaboy.blog23.fc2.com/tb.php/1138-6d4048c2
ようこそ
Add to Google 創るmetaboy:RSSフィード
My Yahoo!に追加
最新記事のRSS | 問い合わせ

仕事検索、アルバイト検索、依頼仕事の検索ポータル - 仕事検索.COM - www.jobkensaku.com ツクルン

創るmetaboy - WEB創る、サイト創る、何創る - 創ったmetaboy

 

リンク集

 

最近の記事

 

ブロとも申請フォーム
Sponserd by

さくらのレンタルサーバ さくらのレンタルサーバ
大容量・高機能レンタルサーバー heteml 大容量・高機能レンタルサーバー heteml
XREA (ValueDomain)
お名前.com お名前.com
名づけてねっと名づけてねっと
ムームードメインムームードメイン

 

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。