あふひねこのにき RSSフィード

2112-09-03 おしらせ

この日記にあるもの 23:47 この日記にあるものを含むブックマーク この日記にあるもののブックマークコメント

わたしはだれ

サイドバーのプロファイルをご覧下さい。

アイマス関連の活動、動画やSSねこふみにて。

ニコマス関連の活動は、ニコニコ部で。

日常のつぶやきはTwitterに。

データベース

アイドルマスター」タグ付き全動画情報データベースの更新状況と公開場所は「ニコニコ部の日記」です。

データベースについての説明はこちらです。

なお、データベース収集・分析のアイデアがありましたらお声をかけてください。

試験的にデータベースの更新をお知らせするRSSを出力しています。

http://aoineko.ciao.jp/nicodata.rss

GMスクリプト

更新が面倒なのでサボってます……。

Fast Look up NicoInfoは、マウス選択箇所やリンク先の動画情報(ニコニコ動画のもの)を表示します。

Pixiv Slideshowは、Pixivの「お気に入りユーザー新着イラスト」ページに“スライドショウ”を追加します。スライドショウでは「次へ」「前へ」のリンクを使って、イラストを見ることができます。

2013-02-24 ちょっとしたスクリプト2つ

[] Album Art DownloaderのAmazon.co.jpスクリプト 21:02  Album Art DownloaderのAmazon.co.jp用スクリプトを含むブックマーク  Album Art DownloaderのAmazon.co.jp用スクリプトのブックマークコメント

古いスクリプトが動かなくなったので作成、特大画像は取得できません。

ここからDownloadしてAlbum Art DownloaderのScriptsフォルダーに入れてください。

[][] Windowsのバッチファイルでm4aをつくる 21:02  Windowsのバッチファイルでm4aをつくるを含むブックマーク  Windowsのバッチファイルでm4aをつくるのブックマークコメント

バッチファイルにしてファイルをドロップするとm4aファイルのできあがり。響用。要perl, ffmpeg.

https://gist.github.com/schuhiti/5023567

トラックバック - http://d.hatena.ne.jp/AOI-CAT/20130224

2012-03-18 AlbumArtDownloaderのAmazon(.jp)を直した

[]AlbumArtDownloaderのAmazon(.jp)を直した 19:29 AlbumArtDownloaderのAmazon(.jp)を直したを含むブックマーク AlbumArtDownloaderのAmazon(.jp)を直したのブックマークコメント

foobar2000から連携させて使っているAlbumArtDownloaderのAmazon(.jp)スクリプトが動かなくなったので直した。

# amazon-common.boo 37行目
#resultsPage = GetPage(GetPageStream(url, null, true), PageEncoding)
resultsPage = GetPage(GetPageStream(url, null, true)

# amazon-jp.boo
override protected def GetUrl(artist as string, album as string) as string:
	return "http://www.amazon.co.jp/gp/search?search-alias=popular&field-artist=${EncodeUrl(artist)}&field-title=${EncodeUrl(album)}&sort=relevancerank"

何をやったかというと、Amazonが返してくる結果がUTF8になっていたのでCP932で扱っていたところをUTF8にするようにした。

UTF8だとSystem.Text.Encoding.GetEncoding()ではなくSystem.Text.Encoding.UTF8.GetString()となる。

UTF8時のGetEncoding()に相当する処理を探せ出せなかったので、共通モジュールutil.booを追いかけた。

def GetPage(url as string):
	return GetPage(GetPageStream(url))
def GetPage(pageStream as Stream):
	return GetPage(pageStream, Encoding.UTF8)
def GetPage(pageStream as Stream, encoding as Encoding):
	return StreamReader(pageStream, encoding).ReadToEnd()


def EncodeUrl(url as string):
	return EncodeUrl(url, Encoding.UTF8)

def EncodeUrl(url as string, encoding as Encoding):
	return System.Web.HttpUtility.UrlEncode(url, encoding)

ということで、引数encodingを与えなければUTF8として扱ってくれるようなので、そのように修正した。

できればamazon-common.booには手を入れたくなかったが、いつもAmazon.co.jpの結果しか使っていないからまぁいいか。

なお、booスクリプトのコードにsyntax highlightが対応していないようなのでpythonにしてあります。booスクリプトのページにpython likeと書いてあったので。

トラックバック - http://d.hatena.ne.jp/AOI-CAT/20120318

2011-12-31 シンデレラガールズの勢いをちょっと見てみる in pixiv

[][][][][]シンデレラガールズの勢いをちょっと見てみる in pixiv 01:04 シンデレラガールズの勢いをちょっと見てみる in pixivを含むブックマーク シンデレラガールズの勢いをちょっと見てみる in pixivのブックマークコメント

モゲマスのキャラがどれだけ流行ってるのかなーと思ったので、ざっとタグデータを拾ってみました。見ての通り、3つ以上出現したタグを一覧で。

perlのWWW::MechanizeとWWW::Scraperで小一時間ほどでした。スクリプトはこちら

タグ登場数
アイドルマスターシンデレラガールズ180
双葉杏37
三村かな子32
ぽっちゃり24
諸星きらり9
天海春香8
小日向美穂7
龍崎薫6
上条春菜6
島村卯月6
巨乳6
奥山沙織6
前川みく6
神崎蘭子5
萩原雪歩5
川島瑞樹5
C815
ナターリア5
福山舞5
如月千早4
水本ゆかり4
渋谷4
中野有香4
喜多見柚4
柊志乃4
我那覇響4
だいたいあってる4
星井美希3
三船美優3
双海真美3
佐城雪美3
赤城みりあ3
佐々木千枝3
城ヶ崎莉嘉3
ふともも3
ふとましい3
緒方智絵里3
神谷奈緒3
東郷あい3
響をいじめ隊3

OK,時代はニートとぽっちゃりだ!

あと、何気に春香さん強い。そして響はいじめたいほどかわいい!

すでにC81というタグが見える当たり、みなさん行動が早いですね。冬コミ後にもっと変化が出るかも。

トラックバック - http://d.hatena.ne.jp/AOI-CAT/20111231

2011-03-30 CoroでFurl

[][][]測ってみた 23:48 測ってみたを含むブックマーク 測ってみたのブックマークコメント

前回のエントリーブクマコメントに、id:gfxさんからCoroからFurlを使う方法を書いていただいていたので、同じ環境でベンチしてみました。

gfx++

Coro+Furlのコードはhttps://gist.github.com/665488から。

use strict;
use warnings;
use 5.0100;
use Furl;
use AnyEvent::HTTP;
use Coro;
use Coro::Select;
use Coro::AnyEvent;
use Coro::Semaphore;
use Benchmark qw/timethese cmpthese/;


# request
my $url = 'http://ext.nicovideo.jp/api/getthumbinfo/';
my $retry = 3;

open my $fh, '<:utf8', '_tmp';
my @list;
for (0 .. 100) {
	my $line = <$fh>;
	chomp $line;
	push @list, $url . $line;
}
close $fh;

cmpthese timethese 1, {
	CoroFurl => sub {
		my @coros;
		foreach my $url(@list) {
			chomp $url;
		    push @coros, async {
		        print "fetching $url\n";
		        my $furl = Furl->new();
		        my $res = $furl->get($url);
		        print "$url: ", $res->status_line, "\n";
		    };
		}

		$_->join for @coros;
	},
	Coro => sub {
		my $sem = Coro::Semaphore->new(5);
		my @coros;
		for my $video_id (@list) {
			chomp $video_id;
			push @coros, async {
				my $guard = $sem->guard;
				http_get $video_id, Coro::rouse_cb;
				my ($data, $hdr) = Coro::rouse_wait;
				if ($hdr->{Status} =~ /^2/) {
					 #print "finish, $hdr->{Status} $hdr->{Reason} $hdr->{URL}\n";
				} else {
					 warn "error, $hdr->{Status} $hdr->{Reason} $hdr->{URL}\n";
				}
			};
		}
		$_->join for @coros;
	},
};

で、結果。Furlは早いし、Coro::Select使うだけで簡単でいいですね。

Benchmark: timing 1 iterations of Coro, CoroFurl...
      Coro: 22 wallclock secs ( 0.38 usr +  0.11 sys =  0.49 CPU) @  2.06/s (n=1)
            (warning: too few iterations for a reliable count)
  CoroFurl:  8 wallclock secs ( 0.05 usr +  0.05 sys =  0.09 CPU) @ 10.64/s (n=1)
            (warning: too few iterations for a reliable count)
           Rate     Coro CoroFurl
Coro     2.06/s       --     -81%
CoroFurl 10.6/s     416%       --
トラックバック - http://d.hatena.ne.jp/AOI-CAT/20110330