Download presentation
Presentation is loading. Please wait.
1
Rubyでニコニコをごにょごにょ MH35
2
で、結局何したい? RubyでニコニコのCookieをとってきて、それを 使っていろいろアクセスしたい
とりあえず、実装すべきもの実装することにした
3
問題点 OSやブラウザによってCookieの場所や格納方法 が全然違う
IEだったらIE式Cookie(要するにドメインごとの テキストファイル)、FirefoxやChromeだったら SQLite3、SafariだったらPListかBinary Cookie OSごとに場所がかなり違う Firefoxの場合、Windows 9xだとWindowsディレ クトリを探すし、Windows XPだとDocuments And Settingsから探すし、Windows 7だと AppData\Roamingから探すし、Macだと Library/Application Supportから探すし、Linuxだ ったら.mozillaから探す
4
で、実装した結果が bnicovideoというgem
要するにブラウザからニコニコ動画のセッション Cookieをとってきてそれを使ってマイリストや動 画情報を取得するライブラリ 長所 ブラウザには依存するがOSには依存しないプロ グラムを作成することが可能 短所 ログイン機能は持ってないので自前でセッション を作ることができない
5
インストールのしかた gem install bnicovideo 依存ライブラリとしてsqlite3とinifileがある
sqlite3はきちんと新しいlibsqlite3とリンクさせな いといけないので注意(特にMacを使っている人は 気をつけること(というかそれで私がはまった)) ぶっちゃけ、後でみればソースコードはわかる が、Githubにもソースコードはある
6
実装してて苦労した点 SafariのBinary Cookieの仕様が意味不明
だいたい文献によって仕様が全然違うから自分で どれが正しいか調べていったら一応形はできた ただし、符合するかどうかについては何ら実験で きておらず、人柱が必要 Windowsの区別 区別するのに必要最小限の情報だけを使って実装 したので、それで処理 Windows 9xなどでのマルチプロファイル 検知する方法などがないのであきらめた
7
実際に使ってみた デモを見せます
8
ぶっちゃけると これやるだけならセッションいらない
公開マイリストへアクセスするだけなんで、 RSSみるのにログインいらないし、動画情報もロ グインしなくてもみられるんだから どうしてこうなった はじめから考えてなかったから 将来的にどうしたい? 機能拡張により本当に必要なものが出てくる予定 なので、それで挽回したい
9
自分について 現在失業してて就職活動中 Rubyエンジニアが欲しい人は私に声かけてくだ さい Twitter MH35JP
メール 自前でドメインを確保してメールサーバ立ち上げ てます。 設定が不調で、送信ができません。送信はGMail からになる予定
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.