お帰りなさい、Google Feed API。さようなら、Google Feed API。

どうやら、いつのまにやら「Google Feed API」が復活していた模様。

さすが、Google大先生。

しかしながら、いつ打ち切りが起きるか怖いので、phpでsimplexml_load_fileを用いて取得する方法に概ね切り替えた。

その中で、複数カテゴリの場合に、それぞれをどうやって拾うのかネットの海を探してもいまいち見つからず。

悪戦苦闘した結果、下記で解決。

$rss=simplexml_load_file($feed_url, 'SimpleXMLElement', LIBXML_NOCDATA);
 
foreach($rss->channel->item as $item){
 $title = $item->title;
 $date = $item->pubDate;
 $date=strtotime($date);
 $date=date('Y-m-d H:i:s', $date);
 $link = $item->link;
 $cat="";
 foreach($item->category as $category){
  if($cat==""){
   $cat = $category;
  }else{
   $cat = $cat." / ".$category;
  }
 }
 $item_url = $item->enclosure['url'];
}

wordpressがfeedを吐くのが重いようでリアルタイムで処理をすると、表示が全くスムーズにいかないので、バッチで定期的に回す形にして、DBから格納したrssを読みだす形に変更。

たなぼたで、WEBページの読み込み速度が飛躍的に上がりました。

時代はリアルタイム処理!と思ってたけど、やっぱりバッチ処理重要ですね。

wordpressが全体的に処理が重いので、次はこれを何とかしないと…。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です