見出し画像

作成スタート (ゲームみたいなニュースサービスを作ってみる 6)

前回のふりかえり

どうも、gokeです。
前回までで一通りの準備が整ったので今回から作成に入っていきます。

【やることリスト】
0. 目的と目標を確認
1. アイデアを思いつく
2. そのアイデアを検証する
3. 設計する
4. ミニマムで作る ◀︎今ここ
5. 実験する
6. ちゃんと作る2つの目とたくさんの手を意識

使うのは下記の環境です。

・PHP7.0
・MySQL
・jqueryやbootstrapなど

細かい内容は順をおって説明していきます。

ニュースの読み込み

何はともあれニュースを華麗に読み込んでいかなければいけないのでその辺りから手をつけていきます。
ニュースの読み込みはGoogle Newsを使うと決めていたのでGoogle Newsから記事が読み込めるところまでやってみます。

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
</head>
<body>

<?php
$news_arr = get_news();
print_r($news_arr);

function get_news($max_num = 5){
    set_time_limit(90);
    //---- トピックを指定して呼び出すURL 
    $topic = 'w';
    $api_url = "https://news.google.com/atom?ie=UTF-8&oe=UTF-8&topic=$topic&hl=ja&gl=JP&ceid=JP:ja";
    print 'api_url is ... '. $api_url .'<br>';

    //---- APIにアクセス、結果をsimplexmlに格納
    $contents = file_get_contents($api_url);
    $xml = simplexml_load_string($contents);

    //記事エントリを取り出す
    $data = $xml->entry;

    //記事のタイトルとURLを取り出して配列に格納
    for ($i = 0; $i < count($data); $i++) {

        $list[$i]['title'] = mb_convert_encoding($data[$i]->title ,"UTF-8", "auto");
        $url_split =  explode("=", (string)$data[$i]->link->attributes()->href);
        $list[$i]['url'] = end($url_split);

    }

    //$max_num以上の記事数の場合は切り捨て
    if(count($list)>$max_num){
        for ($i = 0; $i < $max_num; $i++){
            $list_gn[$i] = $list{$i};
            $i++;
        }
    }else{
        $list_gn = $list;
    }

    //配列を出力
    return $list_gn;
}

?>
</body>
</html>

とりあえずこんな感じで組んでみたところ

こんな感じのアウトプットを得ることができました。
ここでちょっと問題が。

「ニュース記事はどの程度詳細な内容にすべきだろうか」

という点です。
上のアウトプットで「ニュース」と言える内容は

北朝鮮問題など協議 日米首脳会談始まる - テレビ朝日

このくらいのボリュームです。
これはいわゆるヘッドラインです。
こういうヘッドラインを読み続けることでニュース力は高まるのだろうか?
という疑問です。

事前の検証が甘かったです。
Google Newsから取得できるのはヘッドラインだけだったのに「ニュースを取得できる」と拡大解釈してしまいました。

うーむ、じゃあ違うソースからデータを持ってくるか。
と検討しましたが権利の問題でちょっと難しそうです。

Yahoo!ニュース
RSSから取得した情報を用いたウェブサイトやアプリケーションなどのプログラムを作成して公開することは許可しておりません。また、RSSを再配信したり、再提供することも許可しておりません。
gooニュース
一部有料のコンテンツも含まれておりますので、法人様、または営利目的等でRSSの利用をご希望される場合は、「 gooお問い合わせページ」よりお問い合わせください。弊社にて検討の後、利用の可否をご連絡いたします。
日テレニュース
▼このサービスは、将来に渡って提供をお約束するものではありません。RSSのURLや内容については、予告なく変更する場合があります。またメンテナンスの都合などで、予告なくサービスを停止する場合もあります。
▼RSSの利用方法や、RSSリーダーの使い方、または動作環境などについての問い合わせには応じられませんので、ご了承ください。
▼配信される見出しの中には、AD(広告)が含まれる場合がありますのでご了承ください。

日テレニュースには権利系の話が何もありませんが、、、いいのでしょうか。
と、思ったらサイトの下の方に小さく「無断転載禁止」と書いてありました。まあそりゃそうか。

色々考えた結果、当初の計画の通りGoogleのヘッドラインだけを使うことにします。URLを貼っておいて詳細はリンク先で確認してねということにします。権利の面から考えてもこれが一番現実的でしょう。

コラム:権利の話
ウェブ開発をすると著作権等の権利の話にぶつかることがよくあります。
そんなときの取りうる選択肢は次のパターンがありそうです。

A: 権利を確認してからやる
 A-1: 許可があるものを使う
 A-2: 個別に許可をとる
B: 権利を確認しないでやっちゃう
 B-1: 権利侵害を訴えられたらやめる
 B-2: 権利侵害を訴えられたら戦う

個人で開発する場合にはA-1かB-1しか選択肢がないかなと思います。
可能な限りA-1でいきたいです。
ちなみにこちらの記事によるとSmartNewsはB-2のようです。
今回Google NewsのAPIを使ってヘッドラインを取得していますが、権利元と権利元ページへのURLを貼らないとアウトだと思います。

さて、技術的な部分とは関係ない部分で時間をロスしてしまいましたが、とりあえずニュースのヘッドラインは取得することができました。
次にそれを掲載するフロントの部分を開発します。
長くなるので次回に回します。

この記事が気に入ったらサポートをしてみませんか?