別方式で無料動画GyaO!のアンテナサイト作った
下の記事で作った無料動画GyaO!のアンテナサイトですが、個人的にはわりと宝して使っているのですが、気になる部分もあったので別方式で再度アンテナサイト作ってみました。
無料動画GyaO!のアンテナサイト作ったよ – KUMA TYPE
「私的GyaO触角」はGyaOから購読しているRSSからの情報を利用してアンテナサイトを構築していますが、その為にいくつか問題点がありました。問題点を以下に列挙します。
- タイトル文字列が長いと「○○○…」と省略形になってしまい番組名が正確にわからないことがある。

- GyaO!から配信されているRSSは30件分なので更新数が30件を超えるとRSSに収まりきらずすべての情報を取得することができない。
- 題名に番組名が含まれていない動画はなんの動画が判断できなくなる。
題名に番組名が含まれる例:
題名に番組名が含まれない例:

そういうわけで、 「私的GyaO触角弐式」を作成しました。今回はRSSからではなく更新されたページをスクレイピングしてRSSより詳細な情報を取得して表示するようになっています。一応「私的GyaO触角」で挙げた問題点はすべてクリアしてあります。RSSから情報を取得するよりサーバーに優しくないですが一応キャッシュをしたりスリープをアクセス毎に入れたりアクセスするページは更新に関係あるページに限るなど負荷を掛けないようにかなり考慮しています。
名前は厨二っぽく「弐式」とか付けてみました。苦笑いしてくださいw。
古いアンテナの方にも常に30件表示されるので過去の情報も表示されるので見通しが良い、表示がシンプルなどの利点はあるのでそのまま残してあります。好みに合わせて使い分けるといいと思います。通常はシンプルな旧アンテナをみて、更新が30件以上ある場合や番組目が見たい時などは新アンテナの方を見るといいかなと思っています。弐式の方は取得した情報をデータベースに格納するようになっているので、過去の情報も表示しようと思えば出来るのですが今後検討したいと思います。今日は土曜日ですが、土曜日はアニメの更新がなくて「更新なし」と現在は表示していますが、やっぱりちょと殺風景過ぎるなとは思っています。やっぱり前日分とかを表示したほうが見ていておもしろいかも知れないですね。
あと、DBに蓄積した過去の情報も検索できるようにしようかとは思っています。たまにGyaO!で特定の作品が配信されたことがあるか検索することもあるのでそこにリンクできるようにすれば便利かなと思ったりします。
[up][new][info]のアイコンについて
[up]はGyaO!(ギャオ)のその日更新があった作品の中で更新情報で[up]表示されているものを示します。
[new]は[up]の付いている作品の中でその日に更新されたものを表します。
[info]はマウスを乗せると作品の情報としてあらすじやキャストやスタッフの情報をチップで表示します。
【perlメモ】CGI::Simple 1.113が出ています。【セキュリティ】
セキュリティ修正されたCGI::Simple 1.113がリリースされています。2010年12月07日にセキュリティホール memoさんで紹介されていたセキュリティホールに対応したものだと思われます。
セキュリティホール memoさんの記事を見てからリリースされるのを待っていたのですが、2010年12月27日にリリースされていたようです。私は早速アップデートしました。
サーバー管理している人や個人でCGI::Simpleモジュールを共用レンタルサーバなどにインストールしたりしている人はアップデートしておいた方がいいでしょう。
関連リンク
【perlメモ】flockの使い方
flockはファイルの排他制御を行ってファイルが同時に書き込みアクセスされることによって破損するのを防ぐのに利用する関数です。割とよく使うのですが、一連の処理が割とうろ覚えになるのでメモっておきます。
flockを利用した一連の処理の流れとしては下のような感じ。
- ファイルのopen
- flockで排他制御
- seekでファイルのシーク位置をファイルの先頭に移動
- ファイルに書き込み
- truncateでファイルのサイズを変更。tellは現在のファイル位置(つまり現在のファイルサイズ)を返す。
- ファイルのclose
flock(FILE,8)でファイルのロックを解除しないのはcloseすると自動で解除されるからです。flock(FILE,8)で解除してからcloseすると、ファイルをcloseする前に排他制御が解除されて隙が生まれるため、flock(FILE,8)とclose(FILE)の間に他のアクセスがあった場合ファイルが破損する可能性が出てくるためclose(FILE)で自動で解除してもらうほうがファイルの破損の可能性が低くなります。
sample.pl
#!/usr/bin/perl
use strict;
use warnings;
open(FILE,"test.txt") || die $!;
flock(FILE,2);
seek(FILE,0,0);
print FILE "abcdefg\n";
truncate(FILE,tell(FILE));
close(FILE);
ちょっとデバッグログを出力したい時の為の簡単なサンプル。(最大1000行までデバッグログを保存するという仕様の場合。)
Windows上のperlで利用するのを前提に最後の行はcp932になっているが、他の文字コードで標準出力したい場合は他の文字コードを指定すればOK。デバッグログにはutf-8で出力。モジュールを使うまでもないちょっとしたデバッグ時に使っている。
sample2.pl(utf-8)
#!/usr/bin/perl
use strict;
use warnings;
use utf8;
my $dbglog = ‘deblog.txt’;
#デバッグログファイルが無いときは作る
unless( -e "$dbglog"){
open(FILE,">$dbglog") || die $!;
close(FLIE);
}
&debug_print("abcdefg\n");
#====================================================================
# &debug_print( str );
#====================================================================
sub debug_print{
open(FILE,"+<:utf8","$dbglog") || die $!;
flock(FILE,2);
my $str = decode_utf8($_[0]);
my @dbglog = <FILE>;
push(@dbglog,$str);
while(scalar(@dbglog) > 1000){
shift(@dbglog);
}
seek(FILE,0,0);
foreach(@dbglog){
print FILE $_;
}
truncate(FILE,tell(FILE));
close(FILE);
print encode(‘cp932’,$str);
}
安いネットブックを探してみた。
ベッドに入って寝ながらGyaOとか見たいなーと思ってたのでちょっとネットブックがほしい。安いネットブックをAmazonで見ていたら価格だけで安いなーと思ったのは下の3機種、どれもアマゾンのネットブックの売れ筋ランキングでも5位以内に入っている。値段も3万円未満。性能的にもちょっと比較してみたが、基本的にはほぼ同じ。Leveno IdeaPad S10-3はCPUがIntel Atom N455で他の二つはIntel Atom N450違いはN455のほうがDDR3メモリーに対応しているのでパフォーマンスが上がるかも知れない程度。Windows XP搭載機がよければ「MSI Wind U135-1429JPA」か「ASUS EPC1001PX-WHM」になる。
Lenovo IdeaPad S10-3シリーズ 10.1型TFT液晶 ネットブック 0647AQJ
Lenovo IdeaPad S10-3シリーズ 10.1型TFT液晶 ネットブック 0647AQJ
amazonでLeveno IdeaPad S10-3のスペック表を見ると結構いい加減。嘘も多いのでちゃんと、下記のメーカーのページにいってスペック表を見たほうが良い。
タグ :
ワサビの香りが花粉症に効果があるらしい?
ワサビ関連製品メーカーの金印は、本ワサビの香り成分に花粉症の症状を緩和する作用があることを、花粉症患者への臨床実験で確認したと発表した。実際に香り成分をかぐことで、鼻詰まりなどの症状に改善効果がみられた。
ワサビの香りが花粉症に効果! | ライフ:最新ニュース | nikkei BPnet 〈日経BPネット〉
ということは下のワサビスプレーが付いたマスクなどは効果があるということだろうか?
下のブログの記事の様に、『若者のワサビ離れ(笑)』が進んでいるらしいし、ワサビメーカーも色々と新しい活路を見出そうと必死なのだろう。
痛ニュー速報!: 【社会】「寿司はサビ抜きで」 若者のワサビ離れが進んでいる 「辛み」「苦み」を敬遠、好みは「マイルド」、成熟せず成長か
まあ、もう何年も寿司などたべていないが、やっぱり寿司も刺身もわさびがあったほうがうまいと思う。
なんか納豆を食べると血がサラサラになるとかの時と同じように眉唾な気もしなくもないが、花粉症で困っている人は一度試してみるといいかもしれない。プラシーボでも効果があればラッキーだし。
| わさび抽出精油を配合したスプレーが付いているマスクです。風邪… ユーペットギャラリー by rakutool |
こういうマスクに貼り付けるタイプもあるらしい。
花粉症は今花粉症ではなくてもずっと身体に少しずつ蓄積されいていつか限界になりコップから水があふれるように突然花粉症を発症すると何かで聞いたことがあるので、その時に備えて一応知識として覚えておこうと思う。
タグ :
早く正月おわらないかな~
隣の神社の初詣客がならす鈴がうるさくてかなわない。マジで寝られないレベル。年明けはひどかった。耳栓買っとくんだった。
タグ : つぶやき
高速軽量化されたFirefoxクローン『Pale Moon』をインストールしてみた。
GIGAZINEの記事をみてPale Moonを早速インストールしてみることにした。GIGAZINEの記事を見るとFirefoxをWindows専用にチューンしたものでレンダリングなどもオリジナルのFirefoxよりも高速らしい。消費メモリーも少ないらしい。最近はGoogle ChromeをメインブラウザにしているのでFirefoxはFirefox+Sage++でRSSリーダーと化しているがこれは使わない手は無いだろう。
Windowsのみに最適化することで高速化しているFirefoxクローン「Pale Moon」 – GIGAZINE
Firefoxと完全互換の高速起動が可能な軽量ブラウザ「Pale Moon」 | フリーソフト,Windows PC活用情報局
インストール方法
Windows 2000以降に対応しているようだ。
The Pale Moon Project homepage
上記ページでメニューからDownload>PaleMoonと進む。
ダウンロードページに進んだら適当なダウンロードサイトからインストーラーをダウンロードする。私はおすすめ(RECOMMENDED)になっているSity Hostingからダウンロードしてみた。
2011年1月2日現在だとpalemoon-3.6.13-installer.exeというファイルがダウンロードされるのでこれを実行する。

XPの場合セキュリティー警告の画面が出るが[実行]をクリック。

解凍中の画面が表示されるのでしばらく待つ。
「Welcome to the Pale Moon Setup Wizard」の画面で[Next]をクリック。

Setup Typeの画面では無難に[Standard] を選択して[Next]をクリック。
Summaryの画面では通常はそのまま[Install]をクリック。
もしも、インストールパスを変更する場合は戻ってSetup Typeを[custom]にしてインストールをするとインストール先を指定できる。
デフォルトのブラウザーにしたくない場合は[Use Palemoon as my default web browser]のチェックを外す。

インストール中の画面になるのでしばらく待つ。
インストール完了の画面[Finish] をクリックしてインストール完了。
初回起動時の画面
日本語化
日本語化するには日本語ランゲージパックを導入する。
The Pale Moon Project homepage
Pale MoonのサイトのトップページのメニューからDownload>Pale Moon language packsと選択してランゲージパックのダウンロードページに進む。

「ja.xpi: Japanese」をクリックしてダウンロード
Pale Moon自体でランゲージパックのページを表示してランゲージパックのダウンロードを行なうと簡単。下のように確認画面が出るので[Allow]をクリックする。
補足:ランゲージパックを別ブラウザでダウンロードした場合は、ダウンロードしたja.xpiをPale Moonの画面上にドラッグドロップしてあげれば同じようにアドオンのインストール画面になる。
アドオンのインストール画面になるので[Install Now]をクリックする。
インストール中画面になるのでちょっとまつ
Palemoonの再起動確認が表示されるので[Restart Palemoon]をクリックする。
タブとか開いてるけどリスタートしていいか聞かれるので[Restart]をクリック。
インストール完了した旨が表示されるので[×]をクリックして閉じる。

日本語表示になるようにPale Moonの設定を変更する。
アドレス欄に[about:config]と入力。
Filter欄に[general.useragent.locale]と入力して絞り込む。
[general.useragent.locale]をダブルクリックする。
入力画面が表示される。初期値は「en-US」になっている。

「ja」と書き換えて[OK]をクリック。

Pale Moonを一旦終了する。終了時の確認メッセージが既に日本語になっている。

再度Pale Moonを起動してみるとメニューなどが日本語になっている。これで日本語化は完了。
Firefoxの設定を取り込む
Firefoxを既に導入している場合、今まで使っていたアドオンやお気に入りなどがあると思うが、それをPale Moonにコピーするには以下のページからツールをダウンロードして利用しFirefoxのprofileをPale Moonに取り込む。
ダウンロードしたpmmig.exeを実行する。
セキュリティー警告画面ではそのまま[実行]をクリック。
Pale Moonが起動中だと下の警告画面が出るので、Pale Moonを終了してから[OK]をクリックする。

「Pale Moon profile migration tool」の画面が表示されたら[Copy profile]をクリック。
Pale Moon Profile 上書きしちゃうけどほんとにいいですか?といった感じの確認画面が表示されるのでよければ[OK]をクリック。
Statusが「Copying.please wait…」になるのでしばらく待つ。
途中下の画面が表示された。「時間掛かるかも知れないんで、End押すと止まるしContinue押すと続けるよ」みたいな意味だと思うが、そのまま放置すれば勝手に進む。
Statusが「Completed.」になればOK。[Exit]をクリックして完了。

Pale Moonを起動してみるとFirefoxで利用していたアドオンやお気に入りなどprofileが全て取り込まれた。

注意点として、Firefoxのprofileを取り込むとPale Moonのprofileが上書きされるので先に日本語化を行なうとprofileの取り込みによって無効化されてしまうのでまたメニューなどが英語に戻ってしまう。その場合は再度日本語化の手順を行なう。
とりあえずよさそう(軽くなった様な気もする)なのでしばらく使って様子を見ようと思います。
#ちなみにFirefoxを火狐と書くのは厨二病っぽくて嫌いですw。だいたいどう考えても入力もFirefoxと英文字で打ったほうが早いしわざわざ火狐と書く意味がわからない。厨二としか思えない。
【SQLiteメモ】小数点以下を取得するには
Ajaxの勉強がてらに投票プログラムを作ってみた。 – KUMA TYPE
上記で配布している投票プログラムで作成されたデータベースで評価の平均点を求めようと思う場合。
テーブル名:TBL_VOTE
1 entry_id INTEGER UNIQUE 記事ID
2 vote_num INTEGER 投票回数
3 totalpoint INTEGER 総合点数
テーブルも構造は上の様になっている。
select totalpoint/vote_num, vote_num,totalpoint FROM TBL_VOTE ORDER BY totalpoint/vote_num desc
そして評価平均を求めるために、総合点数÷投票回数という単純な計算で値を求めようとして上のようなSQLを書いて実行してみると
上記の様になるが、赤枠で囲ったところなどを注目すると分かるように、17/4、9/2など明らかに割り切れない値でも小数点以下が取得出来ていない。これはデータの型がINTEGERで整数型として定義されているためなのでcastで型をREAL型に変更する必要がある。
select cast(totalpoint as REAL)/vote_num, vote_num,totalpoint FROM TBL_VOTE ORDER BY cast(totalpoint as REAL)/vote_num desc
castの使い方はcast(カラム名 as 型名)となる。
実際にcastを適用したSQL文が上。
castを使用した結果小数点以下も取得できるようになった。さらに、小数点以下を四捨五入して必要な桁数分取得するにはround関数を利用する。
round関数の使い方はround(カラム名[,小数点以下の桁数])
select round(cast(totalpoint as REAL)/vote_num,2), vote_num,totalpoint FROM TBL_VOTE ORDER BY cast(totalpoint as REAL)/vote_num desc
round関数を適用したSQL文が上。
結果は上のとおり小数点2桁まで求められるようになった。
タグ : SQLite
2011年 謹賀新年
明けましておめでとうございます。今年も宜しくお願いいたします。
今年は人並みに働いて忙しい年にしたいと思っています。
タグ :
オールクーポンAPIを使ってグルメ関連のクーポン販売情報を取得するプログラムを作成してみた。
グルメ オールクーポン グルーポン 共同購入 クーポン販売情報 – グルメルク

オールクーポンAPIを使ってグルメ関連のクーポン情報を取得するプログラムを作成してみた。グルーポンAPIよりXMLの出来とAPIの性能が良いのでプログラムの作成は格段に楽だった。APIで飲食のみのクーポン情報を絞り込んで取得できるのでベイジアンフィルタを使って選別する必要も無い。ただ何故か取得したXML中にキャラクタコード0x02が紛れ込んでいてXML解析モジュールが落ちたりすることがあったのであらかじめ0x02を取り除いたりする必要があった。データの信頼度がいまいちの様だ。XMLが素直な作りをしているのでXML::Simpleモジュールで普通にパースできて楽だった。グルーポンAPIはXML::Simpleのオプションで「ForceArray => 1」を指定してやらないとデータを取得するのが難しい。
関連記事
- グルーポンAPIを使ってグルーポン情報を取得してその中からグルメ情報だけ選別して表示するプログラムを作ってみた。 – KUMA TYPE
- グルーポン(共同購入クーポン)系サイトAPIまとめ – KUMA TYPE
参考リンク
タグ : perl





![覆面ビリオネア[Undercover Billionaire]のUnderdog BBQでクビになったクリスティン・ミュアーのその後が気になったので調べてみた undercover billionaire](https://i0.wp.com/blog.kumacchi.com/wp-content/uploads/2022/07/undercoverbillionaire.jpg?resize=120%2C120&ssl=1)


![[RAMディスク]Gavotte Ramdiskを導入してみた。 Windows XP – システムプロパティ](https://i0.wp.com/blog.kumacchi.com/wp-content/uploads/2014/02/img_20080517T052214275.jpg?resize=120%2C120&ssl=1)












