コグノスケ


link 未来から過去へ表示(*)  link 過去から未来へ表示

link もっと前
2012年10月25日 >>> 2012年10月12日
link もっと後

2012年10月25日

ニコニコAPI

いまさらですが、ニコニコ動画にニコニコAPIというのがあることを知りました。

コメントとか動画情報とかいろいろ取れるようですが、中でもgetflvといういかにも「FLVをダウンロードしてくださいね!」と言わんばかりのAPIがあります。

JavascriptからニコニコAPIを叩く

Javascriptの勉強(特にXMLHttpRequest)がてら、getflv APIで動画ファイルの場所をとってきて、動画タイトルの下に [Download] というリンクを生成するスクリプトを作ってみました。

自分で使ってみたら意外と便利だったので、下の方にコードも載せておきます。


スクリプト実行前


スクリプト実行後

アドレスバーにスクリプトをコピペすれば動きますが、面倒くさいのでスクリプトをブックマークに登録すると便利です。

コード

下記をコピペしてブックマークのアドレス部分に貼り付ければ動きます。改行とかスペースなんざ無視してぶち込んでください。ブラウザさんは寛容なので細かいことは気にしないのです。


javascript:

function received() {
    if (request.readyState == 4 && request.status == 200) {
        /* received */
        var strurl = decodeURI(request.responseText);
        strurl = new String(strurl.match(/url=[^&]+/));
        strurl = strurl.replace("url=", "");
        strurl = decodeURIComponent(strurl);
        
        var btn_container = document.getElementById("videoHeaderDetail");
        var btn = document.createElement("a");
        
        btn.href = strurl;
        btn.style.fontSize = "2em";
        btn.textContent = "[download]";
        btn_container.appendChild(btn);
    }
}

var docurl = document.URL;
var doccookie = document.cookie;
var flvurl = docurl.replace("/watch/", "/api/getflv/");
var request = new XMLHttpRequest();
request.open("GET", flvurl, true);
request.withCredentials = true;
request.setRequestHeader("Cookie", doccookie);
request.onreadystatechange = received;
request.send("");

ニコニコ動画:Q(プレミアム会員)環境にて動作確認済みです。

ブラウザはSeamonkeyで動作確認済みです。

おそらくFirefoxでも動くと思います。IEでは動かない(XMLHttpRequestがない)ようです。他のブラウザは見ていないですが、もし動いたら教えてくれると嬉しいです…。

注意

修正BSDライセンスです。利用、改変、修正はご自由に。

公開されているAPIを使っているだけなので、怒られるようなことはしていないはずですが、このスクリプトを使って何か問題が起きても、責任は取れません。あしからず。

コードの見た目がJavascriptぽくないのは、ひとえに私の腕がヘボいせいです。精進します。

編集者:すずき(2012/10/25 23:28)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2012年10月20日

先週の続き

速いと評判のSanDiskのSDCZ80-064G-X46を買いました(2012年10月13日の日記参照)。注文してから2日で届きました。週末に買いに行くより、Amazonで注文したほうが早いな…。

ベンチマークを取りました。さすがに速い。

高速USBメモリ

ノートPCの内蔵HDD(SATA接続)と比較しても悪くないです。さすがにUSB 2.0が足を引っ張っているので、シーケンシャルアクセス性能では負けますが、ランダムアクセス性能ではむしろ勝っています。これは使えそうですね。

先週の再掲になりますが、ノートPCの内蔵HDDはこのくらいの速さです。

内蔵HDD

編集者:すずき(2012/10/21 11:33)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2012年10月13日

ファイルサーバ

ファイルサーバの起動用HDDがUSB接続の2.5インチHDDになって(2012年6月27日の日記参照)3ヶ月以上経ちました。相変わらずHDDは熱いですが、これから涼しくなりますし特に心配はないでしょう。普段、起動用HDDにアクセスしないせいもあって、心配していたパフォーマンス劣化も気になりません。

あえて不満を書くならHDDが筐体の外に寝転がっているから落として壊しそうなこと、見た目が格好悪いこと、です。

どうせUSBから起動するなら、いっそUSBメモリにしてしまってディスクレスマシンにしてしまいましょう。

USB 3.0対応メモリ

梅田に行く用事があったので、ヨドバシに寄ってUSB 3.0対応のUSBメモリを買いました。Princeton PFU-XJ3/64GWです、6,980円でした。他メーカーの64GB品もありましたが、軒並み10,000円台で買う気がしません…。

いかにも安っぽいUSBメモリでしたが、買うときはUSB 3.0対応っていうくらいだから、そこそこ速いんでしょう?と思っていました。後々、これが大間違いだったことがわかります…。

どはまりした

結果だけ言えば、読み込みこそ速いものの、書き込みに問題があって、使い物になりませんでした。別件で買ったSDHCクラス4のカードに、書き込み速度で負けてしまいました。遅すぎです。

論より証拠ってことでベンチマークです。ベンチマークを取った環境は、Lenovo ThinkPad Edge E420カスタムオーダー(Core i5 2515E, メモリ4GB, Windows 7 64bit)です。

我が家にはUSB 3.0が使えるWindowsマシンがないので、USB 2.0接続で計測しています。読み出しについてはUSB 2.0が足を引っ張って頭打ちしていると思われますので、参考程度に見て下さい。

今回買ったUSBメモリから行きましょう。結果は読み出し速度が30MB/s(おそらくUSB 2.0が足引っ張ってる)で、書き込み速度は5MB/sと異常に遅いです。ランダムアクセスなんか、もうハエが止まるぜ、ってレベルの遅さです。

USBメモリ

次に、別件で買ったSONYのSDHCクラス4カードです。読み出し速度こそ完敗ですが、書き込み速度は完勝です。これだけ速度出てもクラス4なのねー??

SDHCカード

このUSBメモリをファイルサーバの起動用メディアとして使えるか?というと、残念ながらNGです。百歩譲ってWriteが遅いのは許しても、ファイルコピーなどすると書き込みがフリーズするのがダメです。せっかく買いましたが…どうしようかね、これ。

反省

代わりのUSBメモリについては、速いと評判のSanDiskのSDCZ80-064G-X46を買いました。送料込みで5,945円です。PFU-XJ3/64GWより安いんですけど…。びっくりですよ。

ベンチマークはネットにありますが、せっかく買ったのだし、商品が届いたらベンチマーク取って続報を載せようと思います。

ちゃんと調べてから買おうね!という当たり前の教訓しか得られなかった割に、決して安くはない勉強代を払う羽目になりました…。ほんと、何やってんだ俺…orz

(参考)ちなみにノートPCの内蔵HDDはこのくらいの速さです。ノートPCのHDDも意外と速いのねー。

内蔵HDD

編集者:すずき(2014/04/08 14:53)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link もっと前
2012年10月25日 >>> 2012年10月12日
link もっと後

管理用メニュー

link 記事を新規作成

<2012>
<<<10>>>
-123456
78910111213
14151617181920
21222324252627
28293031---

最近のコメント5件

  • link 21年3月13日
    すずきさん (03/05 15:13)
    「あー、このプログラムがまずいんですね。ご...」
  • link 21年3月13日
    emkさん (03/05 12:44)
    「キャストでvolatileを外してアクセ...」
  • link 24年1月24日
    すずきさん (02/19 18:37)
    「簡単にできる方法はPowerShellの...」
  • link 24年1月24日
    KKKさん (02/19 02:30)
    「追伸です。\nネットで調べたらマイクロソ...」
  • link 24年1月24日
    KKKさん (02/19 02:25)
    「私もエラーで困ってます\n手動での回復パ...」

最近の記事3件

  • link 24年3月3日
    すずき (03/19 11:07)
    「[解像度の設定を保存する] 目次: LinuxRaspberry Pi 3 Model B (以降RasPi 3B)のHDMI...」
  • link 24年3月14日
    すずき (03/16 23:03)
    「[JavaとM5Stamp C3とBluetooth LE - Bluetoothデバイスとの通信] 目次: ArduinoM...」
  • link 24年3月8日
    すずき (03/16 23:03)
    「[JavaとM5Stamp C3とBluetooth LE - BluetoothデバイスとServiceの列挙] 目次: A...」
link もっとみる

こんてんつ

open/close wiki
open/close Linux JM
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 2018年
open/close 2019年
open/close 2020年
open/close 2021年
open/close 2022年
open/close 2023年
open/close 2024年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報

合計:  counter total
本日:  counter today

link About www.katsuster.net
RDFファイル RSS 1.0

最終更新: 03/19 11:07