5分で出来る!?PHPによる外部RSSをWEBサイトに掲載する方法


こんばんわ。ルンビーニです。

いやー今日は寒かった、そして週のはじめは憂鬱。サラリーマンはみんなそうや!な!tk!

という事で、本日は掲題の通り、PHPを用いて外部RSSをWEBサイトに掲載しよう!です。

RSSとは?

RSSといった言葉を耳にされた方は多いのではないでしょうか。最近では非常に普及しています。良くあるのがオレンジ色で電波?見たいなマークがあるの見たことないでしょうか?
こんな感じです。
 


 
ニュースサイトやブログなど、Webサイトの見出しや要約をまとめてくれる技術のことです。よく私たちが目にしているのは、RSSの技術を使って配信される「RSSフィード」と呼ばれるもので、こちらを利用することでWebサイトの更新情報や記事の要約などを素早くチェックすることができます。いろんな使い方ができるので、使い方自体は後日。。。
 
 
本日は、そのRSSフィードを利用して自分のサイトに掲載する方法を説明します。
 
 

早速プログラムを組んでみよう

 
本日は、AmazonのRSSフィードを利用することにします。Amazonでは各々のジャンルのランキングをRSSフィードで配信しています。
https://www.amazon.co.jp/gp/bestsellers/books/ref=sv_b_3
 
 
上記リンクにいって頂くと分かると思いますが、ランキングが表示されていますね?
 
それを自分のサイトに掲載する事ができます。(いろいろ付け加えることで、ほぼほぼ同じものも作れると思います。)
 
それでは一体どんなプログラムを書けばいいのでしょうか?
 
 
 
 
これだけです。何をしているのか簡単に説明をします。
 
$rss_url
こちらは、利用したいRSSフィードのURLを入れてください。
 
$rss
こちらの構文ではxml形式を取りこんでいます。
 
foreach
こちらは上記で取り込んだxmlから、必要になる情報を取り込んでいるだけです。今回はtitleとlinkとdescriptionを取り込んでいます。各々のファイルが具体的にどのようなものを指しているかはこちらのURLにアクセスしてみてください。
 
https://www.amazon.co.jp/gp/rss/bestsellers/books/ref=zg_bs_books_rsslink
 
XMLは超簡単に説明してしまうとツリー構造のような構成になっています。
 
 
「A」の配下に、「B」と「C」があって「B」の配下に「D」と「E」があるみたいな感じですね。
 
それでは、こちらを見てみましょう。
 
 

 
 
foreach構文の中に、$rss->channel->item as $itemがありますね、
 
これは、$rssというxmlファイルのchannel配下にあるitemという項目(セクション)を$itemとみなしますといった意味合いです。(foreachについては割愛します。繰り返しと思ってください。)
 
 
$title[] = (string)$item->title
 
こちらでは$itemの配下のtitleを見るよ!といった形です。先ほど$itemについては定義しましたね?なので、
channel配下のitem配下のtitleを見るといった形になります。
 
 
https://www.amazon.co.jp/gp/rss/bestsellers/books/ref=zg_bs_books_rsslink
 
もう一度確認してみてください。確かにtitleはありますよね?でも、channel配下のitemは沢山ありませんか?おそらくランキングは1位~10位まであると思います。そこで、foreachの登場です。foreach構文により1位~10位までのランキングを取得します。データが無くなれば、ループから抜け処理終了です。
 
 
ここまでが基本動作となります。あとはRSSによって、見る場所を変えるだけです。(今回はchannel⇒item⇒titleでしたね!ここです)
 
 

Amazonは便利だよ!

Amazonは便利なことにdescriptionの中に、HTMLタグが入った形で題名からすべての記載がされています。言い換えると、これを使えば何もせずに似たようなサイトへ近づくことができるわけです。
  
先ほどのプログラムにこちらを入れてみてください。
 
表示形体は汚いですが、ランキングが表示されるはずです。
 

 
なおAmazonランキングのRSSはこちらから取得できます。
 
https://www.amazon.co.jp/gp/bestsellers/books/ref=sv_b_3
 
 

まとめ

如何でしたでしょうか?上記紹介したプログラムで、少し応用をすることでRSSを取得できるようになります。。。。が、RSSフィードの種類によっては対応できない場合もありますので、それはおいおいご説明します。
 
プログラマーではないので表現が正しくないところもありますが、そんな私でもできた方法です。是非試してみてください!
  
最後までお読みいただきありがとう御座いました。

ブログランキング
人気ブログランキングへ

lumbini

三十路間近サラリーマンのルンビーニです。海外を愛し、海外にて育てられ、海外によって性格が大きく変わりました。自由を求めて、インターネットを利用したビジネスをはじめましたが、、、、、上手く行ってません。上手く行っていない部分を赤裸々に日記、備忘録として残していきます。成功事例もあるかもしれませんが、本当に成功したい方は他のサイトを見たほうがよいと思います。笑)使える言語はPHP・HTML・CSS・Matlab等です。サラリーマンではプログラミングは一切使いません。営業ですから…

あわせて読みたい

コメントを残す

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