ニコニコ動画

ニコニコ動画のタイムシフト予約のリストをGoogle カレンダーと同期してみた

  • POST
PHP5でcurlが使えるサーバが必要。 同期の仕方 nicoTS2GCal.phpをダウンロードする 以下のようなconfig.phpを作る。 [php title=”config.php”] <?php define(‘MAIL_ADDRESS’, ‘[email protected]’); //ニコニコ動画に登録しているメールアドレス define(‘PASSWORD’, ‘password’); //ニコニコ動画のパスワード [/php] PHP Simple HTML DOM Parserをダウンロードする nicoTS2GCalというディレクトリをサーバ上に作り、nicoTS2GCal.php, config.php, simple_html_dom.phpをそこにアップロードする。(ディレクトリ名はそれぞれ変えたほうがいいかも。表示されないといえ、パスワードが書かれたconfig.phpの位置がばれるのはまずいかも) Google カレンダーの左にある「他のカレンダー」の▼をクリックして「URLで追加」を選択。URLとして<アップロードしたサーバのURL>/nicoTS2GCal/nicoTS2GCal.phpを指定 注意点 終了時間は取得できないので、開始時刻の1時間後とした Google カレンダーの更新頻度は半日に一回程度なので、すぐには反映されない やってること ニコニコ動画にログインする 参考にしたサイト PHPでニコニコ動画をダウンロードする方法 2008 | バレで昼寝 – CURLOPT_GETは現在はCURLOPT_HTTPGET PHPプロ!TIPS+ 生放送のマイページからPHP Simple HTML DOM Parserを使用して生放送の番組名と開始時間をとる 参考にしたサイト PHP Simple HTML DOM Parser Simple HTML DOM Parserのサンプル | PCスキルの小技・忘却防止メモ iCalendar形式で吐き出す

ニコニコのコメント風に流れるRSSリーダーを作ってみた

  • POST
これはひどいwww 何番煎じだよって感じです。 参考にしたのは以下のふたつのサイト TakaIwa「Yahoo! Widgetなどの情報ページ」Yahoo!ウィジェット 作り方 -Introduction- LingrTickr – 誰でもニコニコメソッドプレゼン (nakatani @ cybozu labs) 上でRSSリーダーの作り方を、下でニコニコ風のコメントの流し方を学んだ。 Yahoo!ウィジェットは開発が止まっているので、これから作りたい人はAdobe AIRやTitaniumを使って作るのがいいと思う。 インストール Yahoo!ウィジェットからYahoo!ウィジェットエンジンをダウンロードしてインストールする NicoNicoRSSReaderをダウンロードして解凍する RSSList.txtに取得したいRSSのURLを追加する NIcoNicoRSSReader.konをダブルクリックして起動 ドックに現れたNicoNico RSS Readerのアイコンにマウスポインタを乗っけて、出てきたギアをクリックして環境設定を開く。ウィンドウレベルを「常に最前面に表示する」変更 機能 デフォルトではYahoo!ニュースのRSSが設定されている(クリックサーチとブログ/意見の新着順以外は除く) 起動時は1時間以内に出た記事を表示 その後は30秒ごとにチェック(RSSを取得するのにタイムラグがあるので実質1分ごと) 流れる文字列をクリックするとその記事に飛ぶ ソースコード [xml title=”NicoNicoRSSReader.kon”] <?xml version=1.0 encoding=“utf-8”?> <?konfabulator xml-strict=“true”?> <widget version=“1.0” minimumVersion=“4.0” name=“NicoNico RSS Reader”> mainWindow 50 320 true <!– [[[ SCREEN ELEMENTS ]]] –> <!– Widget起動時処理 –>

右上を自分のHP上に表示する2

  • POST
右上は滅びぬ、何度でもよみがえるさ ニコニコ動画(右上)の更新がストップしてしまい、そこからRSSを取得して右上を表示していた以前の方法は使えなくなってしまった。 そこで新しくPHPでかいて最新の右上のソースから右上を抽出して右上を表示させることにした。 以前のPerlを使った方法だと、色々と長いコードがあってなんかしてたけど、PHPだとソースを読み込む部分はたったの一行である。 $source = file\_get\_contents('$url'); これで$sourceに$urlで指定したファイルのソースが入る。後はこれから自分の必要な情報を取り出せば良い。ページが表示するたびにソースを取得していたらサーバーに負荷がかかると思い、取得した情報はファイルに保存し、filemtimeでそのファイルの更新時間を調べて、一日以上立っていたら再度取得するようにした。以下はソースコード。 <?php setlocale(LC\_ALL,"ja\_JP.UTF-8");//これが無いとfgetcsvの日本語がおかしくなる $filename = 'migiue.csv'; if(@$fp = fopen($filename,"r")){ $d = fgetcsv($fp, 0, ",",'"'); fclose($fp); } //データを取得できない、またはファイルの更新時刻が24時間以上たっていたら、 //データを取得する if(!isset($d) || time() &#8211; filemtime($filename) > 60 \* 60 \* 24){ //データの抽出 $url = 'http://www.nicovideo.jp/migiue'; $html = file\_get\_contents($url); $pattern = '|<span>\d{4}/\d{2}/\d{2} \d{2}:\d{2}</span>\n\s+?<a href=".+?">(.+?)</a>|'; preg\_match\_all($pattern, $html, $matches); array_splice($matches, 0, 1); $tsubuyaki = $matches; //データの書き込み $fp = fopen($filename, "w+"); foreach($tsubuyaki as $a){ fputcsv($fp,$a,",",'"'); } fclose($fp); } if($fp = fopen($filename,"r")){ while (($d = fgetcsv($fp, 0, ",",'"')) !