オンラインRPGのプレイ日記や攻略メインのブログです。稀にWeb製作記事も更新。

2016年12月7日 レイドボス:コアの鍵開け条件と有効デバフを更新しました。

Yahoo!急上昇ワードをPHPで取得する方法

2012年2月28日 【Web製作メモ

頻繁に更新していないホームページでもリフレッシュ感を出す方法はいくつかありますが、一番の方法は外部の情報を自動で表示することだと思います。

数年前に流行った相互RSSもそのひとつで、特定サイトの更新情報を自分のサイトでも表示することによって、カバーしきれないコンテンツや新しい情報を閲覧者にお届けすることができます。

それだけでなく、逆アクセスランキングを設置しているサイトならリンク元として表示されるので、一粒で二度おいしいってやつ。

Yahoo!で人気=国民の相違

http://searchranking.yahoo.co.jp/

話が反れましたが、日本で一番人気の検索エンジンYahoo!で検索数が急上昇しているワードならば、それは一番ホットな話題といっても過言ではないですね。
おおよそ、Yahoo!はGoogleの3倍の検索総数を誇ります。
(その理由については別の記事で書くとして今日はPHPのお話。)

Yahoo!で急上昇した話題はみんなが知りたい事なので、自分のサイトで表示してみましょう。方法としてはrssデータをphpを通して取得し、並び替えて表示するだけ。

例えば「急上昇ワードランキングのRSS」を表示するならこんな感じ。

  1. 松田悟志
  2. 丸高愛実
  3. エミューの卵の色
  4. 西村美紀
  5. Adele Carpool Karaoke
<?php
include_once(ABSPATH . WPINC . '/rss.php');
define('MAGPIE_OUTPUT_ENCODING' , 'UTF-8');
define('MAGPIE_CACHE_DIR' , './cache');
define('MAGPIE_FETCH_TIME_OUT', 3);
define('MAGPIE_CACHE_AGE', 3600);
$rss = fetch_rss('http://searchranking.yahoo.co.jp/rss/burst_ranking-rss.xml');
$maxitems = 5;
$items = array_slice($rss->items, 0, $maxitems);
?>

<ol>
<?php if (empty($items)) echo '<li>データの取得に失敗しました</li>';
else
foreach ( $items as $item ) : ?>
<li><a href="<?php echo $item['link']; ?>" title="<?php echo $item['description']; ?>"><?php echo $item['title']; ?></a></li>
<?php endforeach; ?>
</ol>

MagpieRSSというPHPプログラムが必要になりますが、WordPressは標準で実装されているので、上のコードをそのままコピーするだけで使えます。便利!

  • MAGPIE_FETCH_TIME_OUT
    RSSを取得しにいってなかなか繋がらない場合、何秒待てるかの設定。例えば重いサイトのRSSを10秒で設定すると自分のサイトも10秒間何も表示されなくなってしまうので3秒ぐらいが無難です。
  • MAGPIE_CACHE_AGE
    RSSデータを何秒キャッシュしておくかの設定です。3600秒は1時間。キャッシュされている間は表示が一瞬です。
  • $maxitems
    何件表示するかの設定。上の例では5件表示します。
  • foreach
    ここに入る部分を繰り返し行う。htmlタグは自由に編集できます。

データを取得するタグの書き方について。
RSSのソースを表示すると以下のようなコードが表れます。

<item>
<title>エミュサーチLight</title>
<link>http://logu.jp/</link>
<description>エミュレータを紹介するサイトです。</description>
</item>
例えば記事名を取得したいならitemの中のtitleと指定します。
<?php echo $item['title']; ?>

有名RSSをまとめるだけで、一つのサイトが作れる。

JavaScript等と違って出力はhtmlなので外から見た人はコンテンツと区別がつきません。これを悪用して全文表示されるRSSを取得し、自分のサイトで表示することも可能となります。
RSS配信している人は、「抜粋のみを表示」に切り替えることをすすめます。

ちなみにこれらを応用してできるのがアンテナサイト(人気サイトを一覧にまとめ更新情報のみをお知らせするサイトのこと)です。
結構簡単にできるのでやってみても面白いかも。

記事に対してコメントする

投稿ルール
  • 記事内容に関することであれば特に制限はありません。
  • コメントに画像を添付することも可能です。補足説明として使いたいときなど。
  • 投稿ボタンを押すとすぐにページ反映されます。
    (URLを含むコメントは安全性確保のためストックに保留されます。)

名前 (Name) ※無記名にすると「匿名さん」になります

内容 (Contents)

10MB以下のJPG/GIF/PNG形式の画像をアップロードできます。

  1. ホーム
  2. 雑記
  3. Web製作メモ
  4. Yahoo!急上昇ワードをPHPで取得する方法
サイトに関するご要望や意見はこちらから

Yahoo!急上昇ワードをPHPで取得する方法

2012年2月28日 20:00

タグ: , , , ,

▲ページの先頭へ戻る