なろう小説APIサンプルプログラム「小説簡易一覧(PHP)」
小説簡易一覧(PHP)はなろう小説APIを利用して小説のタイトル、あらすじ、URLを表示するシンプルなPHPスクリプトです。
・ソースコード(PHP5.4以降で動作)
<?php
//APIのURL(パラメーターを指定してください)
$url='https://api.syosetu.com/novelapi/api/?out=json&lim=100&gzip=5';
//APIを取得
$file = file_get_contents($url);
//解凍する
$file=gzdecode($file);
//JSONデコード
$listarray=json_decode($file,true);
print '▼抽出した小説の一覧<br><br><br>';
//展開する
foreach($listarray as $key=>$value){
//要素0はcontinueで飛ばす
if($key==0){continue;}
//タイトルの表示
print '<b>'.$value['title']."</b><br>";
//あらすじの表示
print nl2br($value['story'])."<br>";
//小説のURLを代入
$novelurl='http://ncode.syosetu.com/'.strtolower($value['ncode']).'/';
//小説へのリンク
print '<a href="'.$novelurl.'">'.$novelurl.'</a>';
print '<hr>';
}
?>
・説明
タイトルを太字で、あらすじを改行付きで表示するシンプルな小説一覧ページです。
APIのURLを編集することで、思い通りの小説一覧を作ることができます。 最大出力数、limは100になっています。lim=50にすると小説一覧を50件出力します。
くわしくはなろう小説APIの仕様をご覧ください。
改変は営利・非営利問わず自由です。ご自由にご利用ください。
▼動作環境注意1
file_get_contentsにURLを使用しています。
php.iniの設定、allow_url_fopenがonになっていることを確認してください。
一部レンタルサーバなどではセキュリティ上の理由によりOFFになっている場合があります。
▼動作環境注意2
gzip圧縮された文字列をデコードする為にgzdecodeを使用しています。
PHP5.4.0以降でご利用ください。
APIのURLを編集することで、思い通りの小説一覧を作ることができます。 最大出力数、limは100になっています。lim=50にすると小説一覧を50件出力します。
くわしくはなろう小説APIの仕様をご覧ください。
改変は営利・非営利問わず自由です。ご自由にご利用ください。
▼動作環境注意1
file_get_contentsにURLを使用しています。
php.iniの設定、allow_url_fopenがonになっていることを確認してください。
一部レンタルサーバなどではセキュリティ上の理由によりOFFになっている場合があります。
▼動作環境注意2
gzip圧縮された文字列をデコードする為にgzdecodeを使用しています。
PHP5.4.0以降でご利用ください。
・API取得の仕組み
APIのURLで出力形式(out)をjson形式に指定しています。
また、gzip=5を指定しgzip圧縮ファイルとして受けとることで、転送量を削減しています。
基本的な流れは下記のとおりです。
file_get_contents()を使用し、APIのURLをオープンし$file変数に代入します。gzip=5が指定されているので、この段階ではgzip圧縮されています。
gzipファイルの解凍にはgzdecode()を使用し、解凍します。 解凍された文字列は$file変数に上書きされ、json_decode()で連想配列$listarrayに変換されます。
また、gzip=5を指定しgzip圧縮ファイルとして受けとることで、転送量を削減しています。
基本的な流れは下記のとおりです。
file_get_contents()を使用し、APIのURLをオープンし$file変数に代入します。gzip=5が指定されているので、この段階ではgzip圧縮されています。
gzipファイルの解凍にはgzdecode()を使用し、解凍します。 解凍された文字列は$file変数に上書きされ、json_decode()で連想配列$listarrayに変換されます。
・免責事項
・個人・法人に限らず自由に使用することができます。
・自己の責任の上でご利用ください。
・本プログラムを使用することによって生じるいかなる問題についても、当社はその責務を負いません。
・本プログラムに関する個別サポートは行っておりません。
・自己の責任の上でご利用ください。
・本プログラムを使用することによって生じるいかなる問題についても、当社はその責務を負いません。
・本プログラムに関する個別サポートは行っておりません。