Hatena::ブログ(Diary)

鍵屋的日記(鍵屋のブログ) このページをアンテナに追加 RSSフィード

このブログについて

2011-06-21 我破締切

サンクリ52お疲れさまでしたー!!!


って、そうでした、ブログでは告知してなかったですorz

最近Twitterばっかりで・・・右のサイドバーからフォローしていただけるとありがたいです。

もっぱらTwitter日記代わりになってる感があるので・・・


サンクリレポについてはまた今度・・・実は徹夜明けで当日のことはあまりよく覚えてnゲフンゲフン

[]Pixiv APIについて Pixiv APIについてを含むブックマーク

追記(2011/10/23

ここで紹介したAPIを元に、.Netプログラム用のDLLを開発、公開してもらいました!

screenshot

PixivAPIWrapper.NET - Home


プログラミングカテゴリの記事書くのって随分久しぶりな気がします。


最近Pixivに入り浸ることが多くなって参りました。

ブラウザ開くと、常にPixiv最後まで開きっぱなしという感じです。

で、ブラウザPixiv見てて思ったんですが、



・・・操作しづらい」


基本的に私の場合Pixivアクセスした後の巡回ルートは以下のようになります。

  1. お気に入りユーザーの新着をチェック(イラスト
  2. マイピクの新着をチェック(イラスト
  3. お気に入りユーザーの新着をチェック(小説
  4. ウィークリーランキングをチェック(イラスト

完全に見る専のブラウジングです。

ちなみにマイピクで小説書いてらっしゃる方は、みんなお気に入りユーザーに登録してあるので、マイピク新着小説はチェックしてません。


で、です。

お気に入りユーザーの新着をチェックする場合

という行動をとるのですが、絵をクリックした後の画面からは、「お気に入りユーザー新着一覧の次の絵」に1クリックでは移動できない訳です。非常に不便。

でもiPhone版のPixivアプリからだと、「お気に入りユーザー新着一覧の次の絵」「同前の絵」へ、フリップ一発で移動できます。便利。


あと、PC画像を保存する際に、ファイル名に作品タイトルや作者名を含めたかったりします。

なので何とかしてPixiv専用ブラウザが作れないものかと思案中。

作ろうと思ったらば、やっぱりPixivAPI必須*1

ところがPixivAPIは公開されておりませんでした。

なので、ちょっとiPhoneの通信経路をゴニョゴニョして*2APIを調べてみました。



Pixiv APIの使い方についてはこちら参照。

screenshot

no title

以下は、上記のページでは掲載されていないAPIを列挙します。

また、getリクエスト

c_mode=count

を含めた場合による、件数取得は省略しました。


「XXXXXXXX」(大文字Xが8個)は、取得済みPHPSESSIDを入力する所です。


小説ランキング
http://iphone.pxv.jp/iphone/novel_ranking.php?mode=week&type=normal&PHPSESSID=XXXXXXXX&p=1

modeはweekとr18の2種類しか無いようです。

■新着小説
http://iphone.pxv.jp/iphone/new_novel.php?dummy=0&PHPSESSID=XXXXXXXX&p=1

■新着小説(18禁)
http://iphone.pxv.jp/iphone/new_novel_r18.php?dummy=0&PHPSESSID=XXXXXXXX&p=1お気に入りユーザーの新着小説
http://iphone.pxv.jp/iphone/bookmark_user_new_novel.php?dummy=0&PHPSESSID=XXXXXXXX&p=1

■マイピクの新着小説
http://iphone.pxv.jp/iphone/mypixiv_new_novel.php?dummy=0&PHPSESSID=XXXXXXXX&p=1ブックマークした小説(公開)
http://iphone.pxv.jp/iphone/bookmark_novel.php?id=&PHPSESSID=XXXXXXXX&p=1ブックマークした小説(非公開)
http://iphone.pxv.jp/iphone/bookmark_novel.php?id=&rest=hide&PHPSESSID=XXXXXXXX&p=1小説本文
http://iphone.pxv.jp/iphone/novel_text.php?id=○○○

○○○は小説作品のID。これはログイン必要無い。
投稿時にtextareaに入れる文字列がそのまま取得できる。挿絵なんかは適切に処理する必要あり。


■イラストIDを指定して、イラストの詳細情報を取得
http://iphone.pxv.jp/iphone/illust.php?illust_id=○○○&PHPSESSID=XXXXXXXX&p=1

○○○はイラスト漫画ID投稿者名やタイトルキャプションなどなどが取得できる様子。

■ユーザーIDを指定して、イラスト作品の一覧を取得
http://iphone.pxv.jp/iphone/member_illust.php?id=○○○&PHPSESSID=XXXXXXXX&p=1

○○○はユーザーID。

■ユーザーIDを指定して、小説作品の一覧を取得
http://iphone.pxv.jp/iphone/member_novel.php?id=○○○&PHPSESSID=XXXXXXXX&p=1

○○○はユーザーID。

■指定したIDユーザーお気に入りユーザーを取得
http://iphone.pxv.jp/iphone/bookmark_user_all.php?rest=show&id=○○○&PHPSESSID=XXXXXXXX&p=1

○○○はユーザーID。

■指定したIDユーザーのマイピクを取得
http://iphone.pxv.jp/iphone/mypixiv_all.php?id=○○○&PHPSESSID=XXXXXXXX&p=1

○○○はユーザーID。

■指定したIDユーザーブックマークを取得(イラストhttp://iphone.pxv.jp/iphone/bookmark.php?id=○○○&PHPSESSID=XXXXXXXX&p=1

○○○はユーザーID。

■指定したIDユーザーブックマークを取得(イラストhttp://iphone.pxv.jp/iphone/bookmark_novel.php?id=○○○&PHPSESSID=XXXXXXXX&p=1

○○○はユーザーID。

■指定したIDユーザープロフィールを取得
http://iphone.pxv.jp/iphone/profile.php?id=○○○&PHPSESSID=XXXXXXXX?dummy=0&PHPSESSID=XXXXXXXX

○○○はユーザーID。
結果はHTMLで返ってくるので、独自のデザインで表示させるなら、パースして情報を抜き取るか、ブラウザ内に表示させてCSSゴリゴリいじるかしないといけなさそう。

■このイラストブックマークしているユーザー
http://iphone.pxv.jp/iphone/illust_bookmarks.php?illust_id=○○○&PHPSESSID=XXXXXXXX&p=1

○○○はイラスト漫画ID。

■イラストコメントを取得
http://iphone.pxv.jp/iphone/illust_comments.php?illust_id=○○○&PHPSESSID=XXXXXXXX&p=1

○○○はイラスト漫画ID。

■イラストを評価する
http://iphone.pxv.jp/iphone/rating.php?illust_id=○○○&score=●&PHPSESSID=XXXXXXXX

○○○はイラスト漫画ID。
●は点数(1〜10)。
評価に成功すると「Evaluated」が、既に評価済みだと「Already evaluated」という文字列が返ってくる様子。
それ以外の反応は確かめてないです。


■この小説ブックマークしているユーザー
http://iphone.pxv.jp/iphone/novel_bookmarks.php?id=○○○&PHPSESSID=XXXXXXXX&p=1

○○○は小説ID。

■小説コメントを取得
http://iphone.pxv.jp/iphone/novel_comments.php?id=○○○&PHPSESSID=XXXXXXXX&p=1

○○○は小説ID。

■小説を評価する
小説のレーティング
http://iphone.pxv.jp/iphone/rating_novel.php?illust_id=○○○&score=●&PHPSESSID=XXXXXXXX

○○○はイラスト漫画ID。
●は点数(1〜10)。
レンスポンスはイラストの評価と同様。


■指定したIDユーザーを、自分お気に入りに追加(POST)
http://iphone.pxv.jp/iphone/bookmark_add_user.php?dummy=0&PHPSESSID=XXXXXXXX

これだけPOSTメソッドパラメーターは以下

mode=add&id=○○○&restrict=0

○○○はユーザーID

とりあえずこんな感じです。

まだまだ検索系のAPIは調べていないので、不明な点は多いですが。

どなたかがキチンとまとめて、Objective-Cライブラリとか作ってくれると、それはとっても嬉しいな、って。

*1Pixivのページを開いてHTMLパースして、とかやっても良いのかも知れないけれど、ページのHTMLとか変更されると死ねる

*2:詳しく知りたい人は、「TCP/IP パケット ダンプ」とかで調べてみると良いんじゃないかな!

えふえふ 2012/11/16 13:32 http://iphone.pxv.jp/ にアクセスしてもタイムアウトばかり。なのに公式アプリは動いていてどうしたもんかと思いましたけど
ホストが変わってるみたいです。
http://spapi.pixiv.net/iphone/ranking.php?mode=day
とりあえずメモとして

kagiyakagiya 2012/11/22 01:18 >えふさん
ありがとうございます。このエントリも古くなりましたね…
ホストが変わっていたり、ほかにもいくつかAPIに使えるオプションが増えたりしているみたいですね。
変更はとりあえず追っていますが、エントリには反映できてないです。すみません・・・

このブログについて