みしょのねこごや

Diary - 2009年03月

RSS 1.0

03月11日

RE: RE: 美人時計の画像filesが欲しい

http://d.hatena.ne.jp/Yamashiro0217/20090310/1236674979

のはてぶのタグに何故か Python タグがあったので,

http://d.hatena.ne.jp/jYoshiori/20090311/1236768388yoshioriさんがpythonで書いてらっしゃったので

みしょはperlで書いてみることにしm……な ぜ 画 像 だ け で 満 足 す る の か !!!!!

男なら画像に加えてprofile情報も欲しいだろjk……。。。。


美人時計という素晴らしいserviceがあります。

1分ごとに美人が表示される素晴らしいweb siteですが,悲しい技術者の性。Url 分かるんだったら画像取得できるし,ちょっとAjaxの中身見ればprofileも取得できちゃうじゃん!とか思っちゃうわけです。

というわけで,美人時計の画像を根こそぎGETしちゃって,その上なおかつ美人なみなさまのprofileまでGETしちゃうcodeを書きました。

3月16日追記:なんか使えなくなってたので修正しました!なんか英語になっちゃったけど,これで大丈夫☆ もうすぐ使えなくなるのでお早めに!! 旧版は倉庫に置いておきます。

#!/usr/bin/perl

$OUTPUT  = 'bijin.html';
$TMPFILE = 'tmp';
$MAX_RETRY = 10;
  
open(OUT, ">$OUTPUT");
print OUT <<_EOF_;
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"> 
<title>美人時計</title>
</head>
<body>
<h1>美人時計</h1>
<table border="1">
<tr>
  <th>TIME</th><th>NAME</th><th>BIRTHDAY</th><th>HOME</th>
  <th>BLD</th><th>HEIGHT</th><th>3-SIZE</th><th>OCC.</th><th>FAVORITE WEBSITE</th>
</tr>
_EOF_
  
$retry = 0;
  
for $h(0..23){
  $h="0$h" if $h<10;
  for $m(0..59){
    $m = '0'.($m+0) if $m<10;
    my $file = "";
    if($retry++>$MAX_RETRY){exit 1;}
    sleep(5);
    my @prof = ();
    print `wget http://www.bijint.com/en/clocks/view/$h$m -O $TMPFILE`;
    open(IN,$TMPFILE) or redo;
    foreach (<IN>){
      chomp;
      if($_ =~ /(\/jp\/img\/clk\/.*?\.jpg)/){
        $file = $1;
      }
      $_ =~ s/<[^a].*?>//g;
      push(@prof,$_) if $_;
      last if $_ =~ /</;
    }
    close(IN);
    unlink($TMPFILE);
    redo if @prof < 5;
    $elem = join("</td><td>",@prof);
    print OUT "<tr><th>$h$m</th><td>$elem</a></td></tr>";
    exit 1 if $file eq '';
    while(not(-f "$h$m.jpg")){
      if($retry++>$MAX_RETRY){exit 1;}
      sleep(5);
      print `wget http://www.bijint.com$file -O $h$m.jpg`;
    }
    $retry = 0;
  }
}
print OUT "</table></body></html>";
close(OUT);
exit 0;

ひたすらshellでwgetを叩きまくるだけのprogramなので,wgetを使える環境で実行してください!!

あと,自分用に作ったので大してdebugとかしてないので動作は保証しません!!動かなかったらあの有名なweb siteで質問してみてください!!「use strictしろよー」とか「DOCTYPE宣言は?」とかゆうひとは使うな!!!!

もちろんみしょは環境にやさしい人なので,Yamashiro0217さんとは違ってちゃんとsleepを入れています!!!

あと,みしょはこの情報の入手に全身全霊をつぎ込んだので,きちんとERROR処理もしています!!!!

みなさまもこれで快適美人時計らいふをお送り下さい!!!

Comments

Commented by ( 美人時計 担当/東條  at  2009/03/12(Thu) 17:35:19

いつも美人時計を拝見して頂き、ありがとうございます。

拝見させて頂きました。

現在、当社はプライバシーポリシーに違反する誘導、使用の取りやめのご協力をお願いしております。

3日以内に公開、使用の取りやめ行わない場合、権利に基づいた対応をとらせて頂く場合がございます。

ご理解のほど、ご協力宜しくお願いします。

東條

info@bijint.com

Commented by みしょ  at  2009/03/12(Thu) 18:09:44

あなただれ?本物の中の人なの?

あと,とりあえず日本語でおk。

Commented by みしょ  at  2009/03/12(Thu) 19:01:25

http://d.hatena.ne.jp/nishiohirokazu/20090311/1236800725

あの西尾さんもこう言ってるし,まぁいいか!!

対応するに吝かではないのですが,とりあえず「Privacy policyに違反するのは誰か」「権利とは何の権利か」が意味不明なので……現状のままではいたずらにしか見えないわー。

Commented by 名無しさん  at  2009/03/21(Sat) 13:22:22

現状のままでは訴えられるようにしか見えないわー

Commented by basket nike bleu  at  2017/03/31(Fri) 06:43:17

e of the relegation zone and last seasons superstars are suddenly looking bog-standard.

[url=http://www.musiquezag.com/programmation.asp?Shop=basket-nike-bleu]basket nike bleu[/url]

03月19日

観光する価値のある都道府県

アルファルファモザイクに挙がっていた,2ちゃんねるのthread『観光する価値のある都道府県ランキング』に触発されて。

S: must stay
北海道,沖縄,京都
A: should stay
東京,島根,奈良,三重
B: must visit
青森,大分,三重,愛媛,和歌山,長崎,宮城,兵庫,大阪,福岡,長野,鹿児島
C: should visit
長野,鹿児島,栃木,茨城,千葉,神奈川,鳥取,熊本,広島,新潟,岐阜
D: good
静岡,愛知,石川,高知,和歌山,山口,香川,山梨,秋田,福島
E: usual
山形,福岡,福井,富山,岩手,栃木,静岡,滋賀
F: worthless
群馬,岡山,宮崎,徳島,埼玉,佐賀

独断と偏見に基づいているが,異論は認めない。

ちなみにそれぞれの区分内でも,前から順におすすめ度が高い。


3月20日追記:太宰府天満宮と日光と熱海のことをすっかり忘れていたので福岡と栃木と静岡がだいぶ上に上がりました。 4月2日追記:熊野本宮と新宮が三重県ではなく和歌山県だということに気づいたのでだいぶ色々変わりましたww。

Comments

Commented by alice  at  2009/03/21(Sat) 20:51:06

福島には会津若松がある。

したがって最低でもAに入れるべし!!!!

みしょーに白虎隊ののろいがw

Commented by みしょ  at  2009/03/21(Sat) 23:05:56

うーん……何かもう一押し……。。。。

Commented by 愛媛県民  at  2009/03/23(Mon) 17:34:18

愛媛がトップテン(?)入りしているのが県民としては意外です。

Commented by みしょ  at  2009/03/25(Wed) 01:22:40

愛媛は殆ど道後温泉のみを以てしてですね。

道後温泉は温泉郷の1つの理想型でした。MICHELIN Voyager pratique japonで3つ星を獲得した理由もよく分かります。

あとは個人的には下灘駅が好きなので……。

03月28日

Unix Shellでの出力(色およびencode)を,DOS Shell用に変換するwrapperを作った。

よく知られているように,Unix系のshell consoleと,WindowsのDOS shell consoleは全然違う。特にUnix shell系向けに作られたprogramをWindowsで実行すると,

  • 文字code
  • 制御文字による色の変更

の2点で問題が現れる。

僕は仕事で Ruby / RSpec を使って開発しているのだけれど,RSpecの鮮やかな出力がWindowsだとなんか文字化けしたような感じに見えてしまう。もちろん色については先駆者が居て,確かにこのようにすればDOSでもちゃんと色付きで表示される

しかし,これでもやはり問題がある。僕の環境では,RSpecの出力がUTF-8なのに対して,DOS console はShift_Jisしか認識してくれない。これではあの有名なfaultierさんを見習って頑張って日本語で書いたRSpecの意味が全然分からないことになる!!

もちろんこれについても色々な解決案があるようなのだけれど,でも色を付けた上で文字化けを解決する手段が見つからなかったのだ。

なんかもう色々めんどくさかったのでしばらくは文字化けしたままで使っていたが,いい加減なんとかしようという気になったので,ちょっとWrapperを書いてみた。

package ShellToDos;

use Win32::Console;	
use Encode;

            # black, red, green, yellow,
            # blue, magenda, cyan, white
my $HASH  = { 30=>0, 31=> 4, 32=> 2, 33=> 6,
              34=>1, 35=> 5, 36=> 3, 37=> 7, };
my $VIVID = { 30=>0, 31=>12, 32=>10, 33=>14,
              34=>9, 35=>13, 36=>11, 37=>15, };

sub new{
  my $class   = shift;
  my $vivid   = shift;
  my $in      = shift || 'utf-8';
  my $out     = shift || 'shiftjis';

  my $c = new Win32::Console(STD_OUTPUT_HANDLE);

  my $h = $vivid ? $VIVID : $HASH; # Color Hash
  $h->{0} = ($c -> Attr);          # Default Value

  $| = 1;
  bless { console => $c, hash => $h,
          in => $in, out => $out }, $class;
}

sub output{
  my($self, $str) = @_;
  Encode::from_to($str, $self->{in}, $self->{out});
  my @output = split(//, $str);
  print shift(@output);
  foreach(@output){
    $_ =~ s/\[(\d+)m//;
    ($self->{console}) -> Attr($self->{hash}->{$1});
    print $_;
  }
}

sub DESTROY{
  my $self = shift;
  ($self -> {console}) -> Attr($self->{hash}->{0});
  $| = 0;
}

1;

Constructorの引数は,

  • $vivid : 表示を鮮やかにするかどうか。DEFAULT : 0 (false)
  • $in : 入力時のencoding。DEFAULT : utf-8
  • $out : 出力時のencoding。通常は指定しなくて良い。DEFAULT : shiftjis

の3つ。まぁ何もしなくても死にはしない。

こいつをShellToDos.pmみたいな感じで保存して,

#!/usr/bin/perl

use ShellToDos;
my $wrapper = new ShellToDos(1);

$wrapper -> output("andyRED\nREDGR\nEEEEENandy\n");
DOS窓での実行結果。ちゃんと色付きで表示される。

とかすれば,何もかもうまくいく。ちなみにこのsampleで見えている“”みたいなやつが,Unix shellのいわゆる色変更命令。WindowsでRSpecを実行した人はみな,この忌まわしき文字列がずらーっと画面上に並ぶあの絶望感を知っているはずだ。

ちなみに例では日本語は処理させていないけれども,ちゃんとconstructorにinput encodingを与えれば日本語も正しく処理できる。

RSpecとかautospecとかの結果も,wrapper.plとして

#!/usr/bin/perl
use ShellToDos;

my $cmd = $ARGV[0];
my $wrapper = new ShellToDos(1);

open(PIPE, "$cmd |") or die "Can't open pipe $cmd";
while(<PIPE>){
  $wrapper -> output($_);
}
close(PIPE);

とかを書いて,DOS promptからperl wrapper.pl autospecみたいな感じで実行してやれば,日本語も化けないし色もきれいに表示される!!!!……のだけど,CTRL+Z による reset / halt がうまく動かないの><。どうしよう……。。。。

Comments

Commented by alice  at  2009/03/30(Mon) 01:57:24

この日記をぱくってmixiに丸写ししてみよう

誰かコメントくれるかな??w

03月30日

Re: 理系は使わない言葉

はてな匿名ダイアリーの『理系は使わない言葉』より。

世の中の文系(非理系)の人が理系チックな表現をしようとして,理系の人間が聞くと「その用法はありえねぇ!」と思うものが少なからずあります。

俺が理系を代表してるかはわからないけど,あくまで主観で,違和感を感じた例をいくつか挙げてみます。

ということだが,元増田(匿名diaryでは元記事の著者のことをこう呼ぶ)の言っていることがやや的外れなので,ネタにマジレスして,ホントの理系がどう使ってるかを書いてみようと思う。

理論的
「理論的には」「理論上は」として普通に使う。
「Vector」の誤用
これは元増田の言うとおりだなぁ。
加速度的に
数学を知っている理系なら「指数関数的に」と言う。生物系だと「加速度的に」と言うような気がするけれども。
力学が働く
力学を勉強したてのうちは確かに違和感を覚えたけれども,そのまま深い世界に沈んでいくと(一回転して)自然な用法に感じるようになると思う。Mechanicsが働く,dynamicsが働く。そんなに違和感を覚えない今日この頃。
方程式が崩れる
方程式は破れるものだなぁ。理論は崩れたり破れたりする。機構も崩れたりする。でも崩れると言っても良いような感じもする。びみょい。
次の次元
元増田は彼は既に次の次元で世界を見ています。という用例を挙げてたけど,こんなの聞いたことがない。次元は「1つ上の男」……もとい,「1つ上の次元」であり,次にあるものではないような感じがある。
1+1
田んぼの田だろjk。というか元増田の指摘が野暮……。
それ以上でもそれ以下でもない

          ____   

       / \  /\ キリッ

.     / (ー)  (ー)\      

    /   ⌒(__人__)⌒ \    

    |      |r┬-|    |      それは空集合です。

     \     `ー'´   /      

    ノ            \

  /´               ヽ              

 |    l              \

 ヽ    -一''''''"~~``'ー--、   -一'''''''ー-、.    

  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))


          ____

        /_ノ  ヽ、_\

 ミ ミ ミ  o゚((●)) ((●))゚o      ミ ミ ミ

/⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\   /⌒)⌒)⌒)

| / / /     |r┬-|    | (⌒)/ / / //  だっておwwwwwwwwwwwwwwwwwww

| :::::::::::(⌒)    | |  |   /  ゝ  :::::::::::/

|     ノ     | |  |   \  /  )  /       さすがにこれは理系でも普通に使うおwwwww

ヽ    /     `ー'´      ヽ /    /     バ

 |    |   l||l 从人 l||l      l||l 从人 l||l  バ   ン

 ヽ    -一''''''"~~``'ー--、   -一'''''''ー-、    ン

  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))

Comments

Commented by バーババ  at  2009/04/12(Sun) 05:53:09

          ____   

       / \  /\ キリッ

.     / (ー)  (ー)\      

    /   ⌒(__人__)⌒ \    

    |      |r┬-|    |   今年は氷河期なので無い内定です。

     \     `ー'´   /      

    ノ            \

  /´               ヽ              

 |    l              \

 ヽ    -一''''''"~~``'ー--、   -一'''''''ー-、.    

  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))

Commented by バーババ  at  2009/04/12(Sun) 05:54:12

        /_ノ  ヽ、_\

 ミ ミ ミ  o゚((●)) ((●))゚o      ミ ミ ミ

/⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\   /⌒)⌒)⌒)

| / / /     |r┬-|    | (⌒)/ / / //  だっておwwwwwwwwwwwwwwwwwww

| :::::::::::(⌒)    | |  |   /  ゝ  :::::::::::/

|     ノ     | |  |   \  /  )  /       さすがに東大だから内定でたおwwwww

ヽ    /     `ー'´      ヽ /    /     バ

 |    |   l||l 从人 l||l      l||l 从人 l||l  バ   ン

 ヽ    -一''''''"~~``'ー--、   -一'''''''ー-、    ン

  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))

Commented by みしょ  at  2009/04/12(Sun) 22:06:13

内定取り消しflagと聞いて

Commented by alice  at  2009/04/13(Mon) 18:41:25

大学に残りゃいいのに

研究室でのんびりと(をぃ

Commented by バーババ  at  2009/04/14(Tue) 21:49:10

大学は現在の状況じゃああまり上に行ける自信がなかったのと

金がもう少しほしかったからなぁ。あと関わる範囲が狭いってのもちょっと-でして。

そういうわけで文系就職します他

Commented by みしょ  at  2009/04/14(Tue) 23:34:13

大学院はお金をもらってのんびりするなら良いところだけど,お金を払ってまで居るところじゃないですな。

特に「手に職」の付かないとこは。

秀でた人が本当に多くて,知的興奮に満ちたところではあるのだけれど。

竜宮城みたいなものなのかね。

Commented by バーババ  at  2009/04/26(Sun) 22:16:02

大学に残る場合は上が詰まってるとかそういうことも考えないといけないですしね。

手に職という意味では理学部は辛いですな。

ちなみに今年は例年に比べて、現時点では無い内定が多いみたいです。

それでも東大生はやはり何らかの内定を持っている人が多いですが。

2chの偏差値ランキング(笑)で60以上の企業にいける東大生は半分くらいかな?

そんな私は自己研鑽(笑)、研究(怒)、スイーツ(笑)との遊びなどに励んでおります^^

管理人さんはドクターに進学ですか?