47-なろうデベロッパーについて説明してみる。
※2018年3月現在の情報です。使用する前に必ず最新情報を確認してください。
では今回から小説家になろうのWebAPIの使い方について、説明していきます。ノンプログラマー向けなので、そこまで踏み込んだ話はしません。プログラマーの方は多分、7章を読む必要はないと思います。あくまで導入程度です。
それで今回は、小説家になろうのWebAPIが『どういう物なのか』、『どんなことが出来るか』について解説していきます。使い方は次で説明します。では早速行きましょう。
小説家になろうのWebAPIについてのマニュアルは『なろうデベロッパー』のページにあります。なろうデベロッパーへは小説家になろうのTopページの下の方にリンクがあります。(※画像参照2018年3月現在)
ただ、なろうデベロッパーはPC対応の画面しかないので、スマートフォンの人は小説家になろうに直接のリンクは出てきません。Google検索して見てみてください。もしくは下の方にリンク貼っておきますので興味があれば見てみてください。携帯は……、ごめんなさいよくわからないです。たぶんWebAPI使えないと思います。
リンクを開くと、以下のような画面が出てきます。(※画像参照2018年3月現在)
なろうデベロッパーはウェブサイト管理者やプログラマなど開発者向けツールを提供しています。WebAPIの使い方は『技術マニュアル』に書いてあるのでここをご覧ください。利用実績では『ネット小説更新チェック』と『小説家になろう~更新情報/適当な裏情報~』が紹介されています。
なろうデベロッパーを使ったサイトを作るときの注意事項としては『商標ガイドライン』にあるように、公式と非公式を明確にすることが重要です。
WebAPIを使って作ったサイトが、なろう公式ではないことを明示する必要があるようです。もし、サイトを作りたい人は必ずガイドラインを読んでください。
ではどんなものがあるかですが、技術マニュアルを見ると『活動報告Atom』『小説Atom』『なろう小説インラインサーチ』『なろう小説API』『なろう小説ランキングAPI』『なろう殿堂入りAPI』の6つ項目がありますね。(なろうユーザAPIはいつになったら公開されるのか……)
このうち、『活動報告Atom』『小説Atom』は新着情報取得用、『なろう小説インラインサーチ』はホームページ、ブログ用、『なろう小説API』は小説情報取得用、『なろう小説ランキングAPI』『なろう殿堂入りAPI』はランキング用となっています。それではそれぞれ『どんなことが出来るか』について説明していきます。
・『活動報告Atom』
活動報告の更新情報を提供しています。小説家になろう上の『ユーザの新着活動報告』のように、小説家になろう全体の活動報告の更新情報を取得できます。新着100件を取得することができます。またユーザ単位の活動報告も取得することができます。こちらも最大100件です。
全体の活動報告で提供される情報は、『活動報告のタイトル』、『活動報告の出だし100文字』、『ユーザIDとユーザ名』、『更新日時』です。
何に使えばいいのかはちょっとわかりません。ユーザーの活動報告を集めるにはよさそうですね。(集めてどうするんだろう)
・『小説Atom』
小説更新情報を提供しています。小説家になろう上の『新着の短編小説』、『完結済みの連載小説』、『更新された連載中小説』のように、小説家になろうに投稿された全年齢向け新着小説情報を取得できます。新着100件を取得することができます。またユーザ単位の活動報告も取得することができます。こちらも最大100件です。
ユーザ単位で取得すると、こんな感じで、投稿作品と投稿間隔が分かります。
全体の新着小説情報で提供される情報は、『小説タイトル』、『更新部のサブタイトル』『更新された話数』、『小説出だし100文字』、『作者』、『更新時間』です。
最新100件が取得できるので、なろう上のリストよりも多いです。またユーザー別の更新情報は、更新間隔の調査に役立ちそうです。ユーザーの更新頻度はどのくらいが多いのかが分析できそうですね。(しないけど)
・『なろう小説インラインサーチウィジェット(Novel Inline SearcH)』
ホームページ、ブログ、スマートフォンをよく使う方はよくご存じかと思います。これは小説検索結果をホームページやブログに埋め込めるウィジェットです。出力サンプルを見てもらえばお分かりですけど、こんな風に検索結果をホームページやブログに埋め込めます。
検索のパラメータの詳細は、技術マニュアルに載っていますが、小説家になろう上の詳細検索とほぼ一緒です。(こちらでは文体や会話率の指定もできます)
例えば、自分のブログに自分が書いた小説情報を載せたい場合はこのウィジットを使って、検索パラメータにユーザID指定してやれば、自分が書いた小説がウィジット内に表示されます。常に最新情報が表示されるので、いちいち情報を書き換える必要もありません。宣伝に使えそうですね。
・『なろう小説API』
小説家になろうに掲載されている小説情報を取得できます。簡単に言うと詳細検索のWebAPIです。条件を指定して、それに該当する小説情報を抜き出せます。最大出力は1リクエストにつき500件です。
指定できる条件は『キーワード指定/除外』、『ジャンル指定/除外』、『ユーザID指定』、『登録必須キーワード指定/除外』、『文字数指定』、『会話率指定』、『挿絵数指定』、『読了時間指定』、『Nコード指定』、『小説タイプ指定(連載、完結、短編等)』、『文体指定』、『連載停止中指定』、『ピックアップ指定』、『最終掲載日指定』です。
また出力は『全小説出力数』、『小説名』、『Nコード』、『作者のユーザID』、『作者名』、『小説のあらすじ』、『大ジャンル』、『小ジャンル』、『キーワード』、『初回掲載日』、『最終掲載日』、『ノベルタイプ(連載、短編)』、『完結済み』、『全掲載部分数』、『小説文字数』、『読了時間』、『長期連載停止中かどうか』、『R15タグの有無』、『ボーイズラブタグの有無』、『ガールズラブタグの有無』、『残酷な描写ありタグの有無』『異世界転生タグの有無』、『異世界転移タグの有無』、『投稿媒体』、『総合得点』、『ブックマーク数』、『レビュー数』、『評価点』、『評価者数』、『挿絵の数』、『会話率』、『小説の更新日時』、『最終更新日時』です。
またオプションで、『週間ユニークユーザ数』も取得可能です。ofパラメータを使うと、出力情報を指定できます。(転送量の削減)
また作品の並べ替えは、『ブックマーク数の多い順』、『レビュー数の多い順』、『総合評価の高い順』、『総合評価の低い順』、『感想の多い順』、『評価者数の多い順』、『評価者数の少ない順』、『週間ユニークユーザの多い順』、『小説本文の文字数が多い順』、『小説本文の文字数が少ない順』、『Nコードが新しい順』、『古い順』が可能です。
これは作品の検索に使用してもいいし、ポイントや文字数、作者などで集計しての作品分析も可能です。番外編は大体これを使って解析、分析しています。
・『なろう小説ランキングAPI』
小説家になろうの総合ランキング情報を取得できます。取得できるランキングは2013年5月1日以降の日間、週間、月間、四半期ランキングです。
このAPIで出力されるランキングのデータは2013年5月1日以降のデータで、 週間は毎週火曜日のみ、月間、四半期は毎月1日のランキングを提供しています。また日間ランキングは午前4時~午前7時に作成した日間ランキングのみを提供しています。
番外編2、5でやった解析に使いましたね。出力としては300位までで、以下のように小説のNコード、ポイント、順位です。
・『なろう殿堂入りAPI』
指定した小説が過去にどのランキングに載ったかを調査できます。対象となるランキングは総合ランキングで2013年5月1日以降の日間、週間、月間、四半期ランキングの一部です。
5章で説明したサイト、『俺Tueee.Net! Ψ(`∀´)Ψ』、『sinoobi.com』のベストレコードですね。外部サイトを使わずに、作品のランキング入り情報を見ることができます。
出力はランキング日付とランキングの種類、ポイント、順位です。
とまあ、こんなようなデータが提供されています。
またR18(ノクターンノベルズ、ムーンライトノベルズ、ミッドナイトノベルズ)の方もありますが、ここでは説明しません。ほぼ同じ様な仕様です。そちらの方も興味があれば見てみるといいでしょうね。ちなみにマニュアル名は『18禁技術マニュアル(18禁)』で、とてもエッチな雰囲気を醸し出しています。(中身はちゃんとしてますよ?)
また次回から説明するのは、『なろう小説API』『なろう小説ランキングAPI』『なろう殿堂入りAPI』の3つです。それぞれどのように取得するのか説明します。『活動報告Atom』や『小説Atom』は割愛します。
プログラミングは最後にちょっとだけ説明しますが、必要な部分だけです。プログラミング講座はやりません。気になる人は学んでみるといいでしょうね。今だといっぱい参考になるサイトがありますよ。
プログラムが出来るとなろうの小説データが丸裸、番外編でやったような解析が出来ます。解析が出来ると何がいいかって、流行っているジャンルや、ポイントが入りやすい分野、つまりは流行が追えます。また自分の書いている作品に似た作品はどの程度評価されているのか、相対的な比較も出来ちゃいます。自分がどれくらいの位置にいるのかも分かっちゃいますね。あとは検索システムも自作できますね。色んなことができます。
解析や分析って結構時間かかるんじゃないの? って思うかもしれませんが、なろう小説APIだと、1回のリクエストで最大500件分のデータが取得できます。前回の通り、1回1秒間隔をあけると、1分間に60回で約3万件のデータが取れます。現在の55万作品であれば1100回のリクエストで済むので1100秒(約20分)もあればすべてのデータが取得できます。
実際、番外編でやっているようなデータ分析では、取得時間はすべて1時間以内で済んでます。そこから解析時間を含んでもせいぜい半日程度ですね。正直なところ、文章や構成を考える時間の方が長いです。がちがちの解析はもっと時間がかかりますが、あのくらいの解析でよければ、結構簡単に行えるのですよ。正直、毎週でもできなくはないですね。やらないけど。
最近ではAIによる分析や機械学習が流行ってますが、こういう解析や分析が出来ると、勉強や仕事にも役に立つかもしれません。勉強するのも楽しいですよ。
では今回は最後に利用制限と注意点を説明して終わります。
利用制限はそれぞれのマニュアルの下の方にあります(例はなろう小説APIです)
これを見ると利用制限は今のところないようですが、なるべくサーバーに負荷をかけないようにするのがよさそうですね。ちなみにテキストで400MByteを送信する場合、2バイト1文字とすると約2億文字です。
なるべくデータ量を減らすためには、YAML形式を使う、gzipファイルで受信する(データ圧縮)、ofパラメータを使い、必要な項目のみを出力する(データの選別)といった方法があります。(なろう小説APIの場合)
◆ ◆ ◆
というわけで、簡単になろうデベロッパーについて解説してみましたが、いかがだったでしょうか。スマホ派の方はなろうにリンクが出てこないので、見たことない人も多かったのかなって思います。ですが、知っておいて損にはならないでしょう。
それでは次回からは、実際に使ってみましょう。こういうのは実践あるのみです。




