Node.jsでpixivAPI的な物を叩いたりするサンプル
pixivにはAPIというものが存在はしているようで、扱えるようです。
request、csv、async、underscoreのモジュールをインストールしておくと便利です。
$ npm install request csv async underscore
pixivのAPIを叩くにはクッキーを利用しているらしく、ログインが必要になります(一部のAPIはログインしなくても見れるらしいです)。
ログインに成功するとset-cookieにセッションIDが入ってるので正規表現で取り出し、sessionにセッションIDが入ります。
検索結果数を返すAPIです。
wordには検索したい単語、sessionは先程のセッションIDが入ってる想定です。ログインをしてないと検索結果数はどんなに多くても200件に制限されるようです。
ここでasyncモジュールを使用しています。全てのイラストを取得しようとする時にループを回すわけですが、非同期処理だと全てのデータをまとめて返すときに不便なのでasync.timesSeriesを利用しています。
まとまったデータは配列が入れ子になっているのでunderscoreを使用してまとめています。
なお、データ一つ一つはILLUST_HEADERがキーとそれに対応する値からなるオブジェクトです。
基本的にはセッションIDを付加してAPIを叩けば結果が返される模様。ただ、セッションIDは保存しても2日ほどしかもたないっぽいのでログインは毎回したほうが無難なようです。