LoginSignup
13
14

More than 5 years have passed since last update.

【narou4j】なろうAPIのJavaラッパーライブラリをつくった

Last updated at Posted at 2016-04-14

最近、小説家になろうが流行ってますね(自分だけかも)

通勤時間になろう、休憩時間になろう、カップラーメンつくっている間になろう、と、もうなろうは人生の一部と言っても過言ではない人がたくさんいるのではないでしょうか?

しかし、なろうしている時こんなこと思ったことありませんか?
* ランキングが少し物足りない
* もっと簡単に検索したい
* 縦書きで読みたい
* ローカルに保存し管理したい

そんなあなた、自分だけのクライアントを作りたいですよね?
え?APIってなんだか難しそう?
そんなひと、大丈夫です。今回JavaでAPIのラッパーライブラリを作りました。

ライブラリのJavaのバージョンはjdk1.7.0_79です。
もちろんAndroidで使えますよ。

ライブラリダウンロード方法

ここからJarファイルをダウンロードできます。
また、Gradleは

compile 'net.nashihara:narou4j:1.0'

Mavenは

<dependency>
    <groupId>net.nashihara</groupId>
    <artifactId>narou4j</artifactId>
    <version>1.0</version>
</dependency>

で利用できます。

使い方

Narou narou = new Narou();
List<Novel> novels = narou.getNovels();

デフォルトだと小説20件を新着順で取得します。
Narouオブジェクトにsetほにゃららメソッドでパラメータを与えてからgetNovels()することにより指定したパラメータで小説を取得できます。

例:
Narou narou = new Narou();
narou.setOrder(OutputOrder.TOTAL_POINT);
narou.setLim(300);
List<Novel> novels = narou.getNovels();

これだと総合評価の高い順で小説を300件取得できます。

その他によく使いそうなメソッドだけご紹介。

Nコードを指定して小説を取得

Novel novel = narou.getNovel("ncode");

取得小説数を指定

narou.setLim(300);

小説を300件取得。

出力項目を指定

全出力項目ここに書いてあるとおり。これを取得したい項目のみ指定できる。複数指定することによって複数取得もできる。
デフォルトは全て。

// 小説名、作者名、あらすじのみ取得する場合。
narou.set(new OfParam[]{OfParam.TITLE, OfParam.WRITE, OfParam.STORY});

で取得できます。

単語検索

指定した単語で検索ができます。

// 「なろう」という単語で検索
narou.setSearchWord("なろう");

// 「なろう」という単語が含まれていないものを検索
narou.setNotWord("なろう");

また、検索対象をタイトル、あらすじ、タグ、作者名の4つの中から選択が可能です。
なにも指定しない場合は全てから検索します。
例えば、作者名を指定して検索したい場合は以下のような感じになります。

narou.setSearchWord("なろう");
narou.setSearchTarget(SearchWordTarget.WRITER);

ジャンル指定

取得する小説のジャンルを指定できます。

// ファンタジーを取得
narou.setGenre(NovelGenre.FANTASY);

// ファンタジーとSFを取得
narou.setGenre(new NovelGenre[]{NovelGenre.FANTASY, NovelGenre.SF});

その他

その他にもなろうAPI側で用意されているものはほとんど使えます。
そのうち全ての説明をGithubに書く予定です。
またJavadocもGithubに上がっているのでそれを見ながら実装してもらえるといいかも。

なにかバグや追加機能ありましたらissueやpull requestお待ちしてます!!
Githubはここです!

それではみなさん、よきなろうライフを。

13
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
14