小さな蛇の目に移してみた。
いい湯だな。
みたいな感じ。 なんか、人っぽい
2009年12月31日木曜日
2009年12月28日月曜日
大掃除2
今日は窓掃除。
これが予想以上に手間&時間がかかった。
理由
1。窓の枚数
210×90サイズが8枚
こいつの裏表で計16面はきつい。
2。カルキの除去
思うように取れない
変なスポンジ使ったら、ガラス面に傷がついた・・・
結局、ソフトクレンジング&スポンジでゴシゴシ
3。見た目重視のため、手抜きできんかった。
気がついたら3時間かかった。
まぁ、きれいになったからヨシ。
夕方、ビリヤードへ。
Uさんが撞いていたのでお相手してもらった。
昨日Uさんはバイクで来ていたんだけど、
帰りに飲むことになった為、バイクを店において帰ったのは知っていた。
今日は、バイクを取りにきたらしいが
肝心の鍵を家においてきたみたい。
つまりのところ、またバイクをおいて帰った。笑
これが予想以上に手間&時間がかかった。
理由
1。窓の枚数
210×90サイズが8枚
こいつの裏表で計16面はきつい。
2。カルキの除去
思うように取れない
変なスポンジ使ったら、ガラス面に傷がついた・・・
結局、ソフトクレンジング&スポンジでゴシゴシ
3。見た目重視のため、手抜きできんかった。
気がついたら3時間かかった。
まぁ、きれいになったからヨシ。
夕方、ビリヤードへ。
Uさんが撞いていたのでお相手してもらった。
昨日Uさんはバイクで来ていたんだけど、
帰りに飲むことになった為、バイクを店において帰ったのは知っていた。
今日は、バイクを取りにきたらしいが
肝心の鍵を家においてきたみたい。
つまりのところ、またバイクをおいて帰った。笑
2009年12月27日日曜日
2009年12月25日金曜日
2009年12月24日木曜日
かたーいお煎餅
先日、Uさんとスリークッション。
来年早々に短距離へ出場するとのことで、
6点マッチで勝負。
(T師匠も出場するようだ。)
マッチ終了後、Uさんに
私が以前仕入れた箱玉のシステムについて話をしたら
「なるほど。これいいね。」と多少喜んでもらった。
「じゃぁ、教えてもらったお礼にこれあげる。」と
カバンからUさんが出だしてきたのはお煎餅。
こ、これは!
高級煎餅じゃないですかーーー。
昔ながらのお煎餅で、すごく堅い。
天日干しされているらしく、お米本来の味わいと
シンプルなしょうゆ味がたまらんのです。
お礼欲しさにシステムの話したわけじゃなかったけど
すごくうれしいぜよー。
ありがたく食べてます。
来年早々に短距離へ出場するとのことで、
6点マッチで勝負。
(T師匠も出場するようだ。)
マッチ終了後、Uさんに
私が以前仕入れた箱玉のシステムについて話をしたら
「なるほど。これいいね。」と多少喜んでもらった。
「じゃぁ、教えてもらったお礼にこれあげる。」と
カバンからUさんが出だしてきたのはお煎餅。
こ、これは!
高級煎餅じゃないですかーーー。
浅草 日乃出煎餅
これ、すごく好き!
昔ながらのお煎餅で、すごく堅い。
天日干しされているらしく、お米本来の味わいと
シンプルなしょうゆ味がたまらんのです。
お礼欲しさにシステムの話したわけじゃなかったけど
すごくうれしいぜよー。
ありがたく食べてます。
2009年12月23日水曜日
2009年12月22日火曜日
超音波検査で見た君
妊娠7ヶ月目、超音波検査に付き添った。
今回の検査の目的は外見や心臓・内蔵といった部位に関して
大まかに異常がないかを行うものだった。
超音波検査は健康診断でもやったことがあるから、
どんな映像になるのか なんとなくわかったつもりだったけど
子供が映るなんて、ショッキング。
本当にいるんだね。
口をパクパクしてみせたり、
手のひらをニギニギしたり・・・ちょっと感激しちゃったよ。
ここ最近は、君とお腹を通じてコミュニケーションしてたけど、
対面しちゃった気分。
現在740グラム程、ちょっと大きいみたいだね。
お母さんのお腹の中でスクスク育っているんだなー。
最後にニコッと笑ってくれたね。
その笑顔、一生わすれないよ。
今回の検査の目的は外見や心臓・内蔵といった部位に関して
大まかに異常がないかを行うものだった。
超音波検査は健康診断でもやったことがあるから、
どんな映像になるのか なんとなくわかったつもりだったけど
子供が映るなんて、ショッキング。
本当にいるんだね。
口をパクパクしてみせたり、
手のひらをニギニギしたり・・・ちょっと感激しちゃったよ。
ここ最近は、君とお腹を通じてコミュニケーションしてたけど、
対面しちゃった気分。
現在740グラム程、ちょっと大きいみたいだね。
お母さんのお腹の中でスクスク育っているんだなー。
最後にニコッと笑ってくれたね。
その笑顔、一生わすれないよ。
2009年12月21日月曜日
2009年12月17日木曜日
2009年12月16日水曜日
2009年12月14日月曜日
2009年12月12日土曜日
2009年12月10日木曜日
まだこんなメール送ってるのか。。。
私の携帯にメールを出してくれるのは
・妻
・実母
・妹
・T師匠、K君、I君
・義母
久しぶりにそれ以外からのメール。
架空請求(涙)
届いたものを原文で載せておく
・妻
・実母
・妹
・T師匠、K君、I君
・義母
久しぶりにそれ以外からのメール。
架空請求(涙)
届いたものを原文で載せておく
---------------------------------------
(株)日本興信
03-3409-3588
担当の陣内と申します
早速ですが、本題に入らせて頂きます。
現在お客様がご使用中の携帯電話端末より、 認証ネットワーク事業者センターを介し以前にお客様がご登録され ました
『有料情報サイト』
『特典付きメルマガ』
『懸賞付きサイト』
等における無料期間内等で退会手続きが完了されていない為、 ご登録料金及びご利用料金が発生しており現状で料金未払いとなっ た状態のまま長期間の放置が続いております。
当社はサイト運営会社より依頼を受けまして、
料金滞納者の個人調査、 悪質滞納者の身辺調査などを主に行っております。 本通知メール到着より翌営業日(営業時間内) までにご連絡を頂けない場合には、ご利用規約に伴い。① 個人調査の開始(悪質な場合は身辺調査の開始)② 各信用情報機関に対して個人信用情報の登録、③ 法的書類を準備作成の上、即刻法的手続(強制執行対象者等) の開始、
以上の手続きに入らせて頂きますので予めご了承下さい。
※退会手続の再開、お支払いのご相談等をご希望のお客様は、 担当陣内までお問い合わせ下さい。
現在こちらの携帯電話をお使いのお客様に対して現状の事態を説明 、相談させて頂きたいと思いますので、 多忙だとは思いますが現状の事態が悪化する可能性もありますので 至急ご連絡ください。
担当 陣内
尚、本通知は最終通告となります。
営業時間、月曜~金曜
03-3409-3588
担当の陣内と申します
早速ですが、本題に入らせて頂きます。
現在お客様がご使用中の携帯電話端末より、
『有料情報サイト』
『特典付きメルマガ』
『懸賞付きサイト』
等における無料期間内等で退会手続きが完了されていない為、
当社はサイト運営会社より依頼を受けまして、
料金滞納者の個人調査、
以上の手続きに入らせて頂きますので予めご了承下さい。
※退会手続の再開、お支払いのご相談等をご希望のお客様は、
現在こちらの携帯電話をお使いのお客様に対して現状の事態を説明
担当 陣内
尚、本通知は最終通告となります。
営業時間、月曜~金曜
午前10時~午後7時迄土曜午前10時~午後6時迄、日曜日= 休日
----------------------------------------
未だにこんなメール送りまくってる悪徳業者がいるんだね。
でも、初めてこの手のメールを作成したやつは頭いいんだろうな。
微妙に恐怖感を感じるメールだもんね。
ダマされないように要注意じゃ。
2009年12月9日水曜日
ユニクロが飯田橋にでけた!
飯田橋にもやっと人の集まりそうな店ができた。
ユニクロ
でも、なぜか東京メトロ駅地下 すげー小さい店。
本来、ラムラとか飯田橋駅裏の再開発地域にできるべき店だったんじゃないの?
あえてあの場所って・・・
今日オープンということで
義母と散歩&夕食買出しのついでに見に行ってきた。
通勤時間帯を外していってみたんだけど
まぁ混んでますわ
みんなヒートテック買ってるね。
今の時代、流行モノを作り出せるユニクロってすごいと思った。
今後に期待。
ユニクロ
でも、なぜか東京メトロ駅地下 すげー小さい店。
本来、ラムラとか飯田橋駅裏の再開発地域にできるべき店だったんじゃないの?
あえてあの場所って・・・
今日オープンということで
義母と散歩&夕食買出しのついでに見に行ってきた。
通勤時間帯を外していってみたんだけど
まぁ混んでますわ
みんなヒートテック買ってるね。
今の時代、流行モノを作り出せるユニクロってすごいと思った。
今後に期待。
2009年12月8日火曜日
お腹の様子 と ラ・ロンジェヴィテ
妻の定期妊婦健診があった。
今のところ順調みたい。
現在は逆子状態のようだ。
超音波写真には、なぜか「足の裏」をフォーカスしたものと
顔?と思われる被写体。
足の裏は約3センチぐらいだってさ。
2週間後には、僕も一緒に良く予定。
たのしみ!!
お昼に妻の会社近くにある「ラ・ロンジェヴィテ」へ
玄米ご飯のカレーをたのんだ。
エビのカレーがかなりおいしいね。
今回で2回目なんだけど
ウェイターさんがいまいちなんだよねぇ。
もちょっと目配せするほうがいい。
でも美味しいから許します。
次回は新年会で利用するかも。
今のところ順調みたい。
現在は逆子状態のようだ。
超音波写真には、なぜか「足の裏」をフォーカスしたものと
顔?と思われる被写体。
足の裏は約3センチぐらいだってさ。
2週間後には、僕も一緒に良く予定。
たのしみ!!
お昼に妻の会社近くにある「ラ・ロンジェヴィテ」へ
玄米ご飯のカレーをたのんだ。
エビのカレーがかなりおいしいね。
今回で2回目なんだけど
ウェイターさんがいまいちなんだよねぇ。
もちょっと目配せするほうがいい。
でも美味しいから許します。
次回は新年会で利用するかも。
2009年12月5日土曜日
ビュー踊り子号って超人気?
来年正月早々に家族旅行で伊豆へ行く。
当然電車を利用するんだけど、約1ヶ月前にもかかわらず
ビュー踊り子号は全く予約できない。
(どうでもいい時間帯は予約可能)
やっぱり、車窓からの眺めが良さそうな電車タイプは
人気なんだね。
利用日から1ヶ月前じゃないと予約できないけど
みんな1ヶ月前ぴったりに予約しちゃうんだろうな。
でも、伊豆って車でも行きにくいし
電車も眺めの良いものは本数ないし
いまいちなんだけど、人気なんだな。
当然電車を利用するんだけど、約1ヶ月前にもかかわらず
ビュー踊り子号は全く予約できない。
(どうでもいい時間帯は予約可能)
やっぱり、車窓からの眺めが良さそうな電車タイプは
人気なんだね。
利用日から1ヶ月前じゃないと予約できないけど
みんな1ヶ月前ぴったりに予約しちゃうんだろうな。
でも、伊豆って車でも行きにくいし
電車も眺めの良いものは本数ないし
いまいちなんだけど、人気なんだな。
2009年12月3日木曜日
Google日本語入力を使ってみた。
とうとうIMEまで出してきた。
Google日本語入力 beta
http://www.google.com/intl/ja/ime/
使ってみるとわかるんだけど、
サジェスト機能によって、入力がかなり楽になる。
本来辞書登録しないと出てこないような
新語や人名なども、Google日本語入力だと出てくるんだな。
これ、かなりいい。
クラウド時代にマッチしそうなアプリの完成(ベータだけど)といえるんじゃないかな
Google日本語入力 beta
http://www.google.com/intl/ja/ime/
使ってみるとわかるんだけど、
サジェスト機能によって、入力がかなり楽になる。
本来辞書登録しないと出てこないような
新語や人名なども、Google日本語入力だと出てくるんだな。
これ、かなりいい。
クラウド時代にマッチしそうなアプリの完成(ベータだけど)といえるんじゃないかな
2009年12月2日水曜日
進化してるカイロ
ホッカイロの原理を知った時は、衝撃だった。
化学反応で温まり 最後はカチカチになって終了。
それから時代はすすみ
液体のカイロを今日知った。
金属片が2個あるのは片面ずつ2回使えるというめちゃくちゃすごい仕様
液中の金属片を「パキッ」と押し曲げるてやると、
あら不思議・・・
その金属片からまるで結晶がヒャーーーっと広がり
液が半固形状(シャーベット状)になる。
と同時に温かい!
なんじゃこりゃ!
(説明書によると、約40℃が30分ほど持続する)
さらにすごいのが、使い終わったら 沸騰したお湯で5分ほど煮ると
もとに戻る。
つまり、 繰り返し使えるんだ。 すごっ
商品名:ダブルフェイスエコロジーカイロ
サイズ:全長約15センチ
材質:PVC・蒸留水・酢酸ナトリウム水溶液
YouTubeに動画があった。
http://www.youtube.com/watch?v=b5gWP7xGrps&feature=related
化学反応で温まり 最後はカチカチになって終了。
それから時代はすすみ
液体のカイロを今日知った。
金属片が2個あるのは片面ずつ2回使えるというめちゃくちゃすごい仕様
液中の金属片を「パキッ」と押し曲げるてやると、
あら不思議・・・
その金属片からまるで結晶がヒャーーーっと広がり
液が半固形状(シャーベット状)になる。
と同時に温かい!
なんじゃこりゃ!
(説明書によると、約40℃が30分ほど持続する)
さらにすごいのが、使い終わったら 沸騰したお湯で5分ほど煮ると
もとに戻る。
つまり、 繰り返し使えるんだ。 すごっ
商品名:ダブルフェイスエコロジーカイロ
サイズ:全長約15センチ
材質:PVC・蒸留水・酢酸ナトリウム水溶液
YouTubeに動画があった。
http://www.youtube.com/watch?v=b5gWP7xGrps&feature=related
2009年12月1日火曜日
2009年11月30日月曜日
2009年11月29日日曜日
先生の思い出
今あの先生どうしているんだろう。
ふと思い出していた。
小学校5・6年の担任
マラソンが大好きで、「熱中時代」の影響を色濃く受けた
エネルギッシュな先生だったな。
ある日突然、先生が真っ赤な顔で教室に入ってきて
「みんな、聞いてくれ」と黒板に向かって何かを書いていた。
ものすごいスピードで、カツカツと字を書き終えると
黒板の字を読み上げた。
「先生はあさって、けっこんします」と声を張り上げた。
しかし、
黒板には
「先生はあせって、けっこんします」と書かれていた・・・
先生・・・ いくらなんでも おもろすぎるだろ。
たしかあのとき、先生は27歳だったよね
今の私よりもずっと年下だったんだ。
先日、ウェブで先生の名前を何気に検索してみたよ
顔写真が見つけれられないので
どれが先生なのか、はっきりとはわからなかったけど
某海外日本人学校の校長先生があなたなのかもしれない。
もう校長先生になっていても、おかしくない年齢だもんね。
ふと思い出していた。
小学校5・6年の担任
マラソンが大好きで、「熱中時代」の影響を色濃く受けた
エネルギッシュな先生だったな。
ある日突然、先生が真っ赤な顔で教室に入ってきて
「みんな、聞いてくれ」と黒板に向かって何かを書いていた。
ものすごいスピードで、カツカツと字を書き終えると
黒板の字を読み上げた。
「先生はあさって、けっこんします」と声を張り上げた。
しかし、
黒板には
「先生はあせって、けっこんします」と書かれていた・・・
先生・・・ いくらなんでも おもろすぎるだろ。
たしかあのとき、先生は27歳だったよね
今の私よりもずっと年下だったんだ。
先日、ウェブで先生の名前を何気に検索してみたよ
顔写真が見つけれられないので
どれが先生なのか、はっきりとはわからなかったけど
某海外日本人学校の校長先生があなたなのかもしれない。
もう校長先生になっていても、おかしくない年齢だもんね。
バンドアベレージ 2009
Mさんが常連会記録票から抜き出して下さったもの。
多謝
2009年の私のアベレージ1月から10月まで
1.21
1.06
1.41
1.18
1.48
1.25
1.17
1.37
1.47
1.35
うーむ。。。SAクラス目指すようなアベレージじゃねぇな
ここから読み取れるのはなんだろう。
・まとまった得点源をもっていない
・0を沢山突いている
ってことだろうか。
まとまった得点源のためには
・一度来た良い形では、なるべく沢山得点する。
→すぐにバラ玉になっている
・攻めのタイミングの見極め
→引き球への連携の悪さ
・得点中の攻め
→誤ったタイミングで守りにはいる癖
があげられるかな。
多謝
2009年の私のアベレージ1月から10月まで
1.21
1.06
1.41
1.18
1.48
1.25
1.17
1.37
1.47
1.35
うーむ。。。SAクラス目指すようなアベレージじゃねぇな
ここから読み取れるのはなんだろう。
・まとまった得点源をもっていない
・0を沢山突いている
ってことだろうか。
まとまった得点源のためには
・一度来た良い形では、なるべく沢山得点する。
→すぐにバラ玉になっている
・攻めのタイミングの見極め
→引き球への連携の悪さ
・得点中の攻め
→誤ったタイミングで守りにはいる癖
があげられるかな。
東京で紅葉狩り
妻とドライブがてら、近所を紅葉狩りした。
ただし、用事があったので車窓だけでの鑑賞。
以下感想など
1.明治神宮外苑近辺の有名な「いちょう並木」
コマーシャルやテレビ番組中などでもよく目にする並木道。
たしかに圧巻!というほどの並木だね。
人の出もすごい!! こりゃぁ東京を代表する名所かもしれん。
でも、正直いって数分で飽きる感じ。
だって、全部いちょうなんだもん
不自然な自然
2.有栖川宮記念講演
明治神宮外苑から、オーストラリア大使館へ向かう途中に
たまたま見つけた景色
時間があれば、歩きたかったな。
色々な木々が紅葉してるのって やっぱりいい。
3.オーストラリア大使館前
妻にこれをみせたかったんだよね。
大使館前のトウカエデ?らしき紅葉が非常にきれい
数日前がもっともきれいだったんだけどね。
今日が曇りで残念でした。
そういえば去年は、家族連れで京都の紅葉をみたよねー
人ごみは大変だったけど、いい思い出。
東京の紅葉スポット 忘れないように記録しておく
http://maps.google.com/maps/ms?ie=UTF&msa=0&msid=112303893578011895072.000479824a448a268a8d3
ただし、用事があったので車窓だけでの鑑賞。
以下感想など
1.明治神宮外苑近辺の有名な「いちょう並木」
コマーシャルやテレビ番組中などでもよく目にする並木道。
たしかに圧巻!というほどの並木だね。
人の出もすごい!! こりゃぁ東京を代表する名所かもしれん。
でも、正直いって数分で飽きる感じ。
だって、全部いちょうなんだもん
不自然な自然
2.有栖川宮記念講演
明治神宮外苑から、オーストラリア大使館へ向かう途中に
たまたま見つけた景色
時間があれば、歩きたかったな。
色々な木々が紅葉してるのって やっぱりいい。
3.オーストラリア大使館前
妻にこれをみせたかったんだよね。
大使館前のトウカエデ?らしき紅葉が非常にきれい
数日前がもっともきれいだったんだけどね。
今日が曇りで残念でした。
そういえば去年は、家族連れで京都の紅葉をみたよねー
人ごみは大変だったけど、いい思い出。
東京の紅葉スポット 忘れないように記録しておく
http://maps.google.com/maps/ms?ie=UTF&msa=0&msid=112303893578011895072.000479824a448a268a8d3
バンドゲーム常連会36回!
2007年11月に始めたバンドゲーム常連会がまる3年を迎えた。
今回は趣向を変えて、
バンドゲーム&スリークッションという複合だ。
バンドゲーム、スリークッションの持ち点はそれぞれ5割、4割に設定。
参加者は6名。
M会長、Uさん、K君、Sさん、Wさん、そして私
I君は残念ながら仕事のため参加ならず。。。
バンドゲーム優勝はWさん
スリークッション優勝は なんと私。
総合1位はWさん、2位はK君、3位は私
ここからは、愚痴。
本来ならば、マスターあたりが
「3年もよく続いたねぇ。景品でもだそうか?」くらいあってしかるべき
だと思うんだけど、とにかく無関心だな。
自分の受け持つ夜の部だけしか興味がないんだろうか。
定期的な常連会は、バンドゲームのこの会しかないじゃないか!
お店として公認の常連会を、どうして盛り上げないんだろう。
人としての人気・信用を落とすわけだよ、マスター。
んで、ここからは 打ち上げの話。
今回はUさんが急きょ会場を押さえて頂いた。
浅草の「三岩」
そんなに料理がおいしいわけでもないんだが、お安いのでOK。
以前にも行ったことがあるんだけど
店員の態度がひどかったんだよねー。
「すみません」って声をかけたら、「いまいそがしいの!」という返事があった
これは正直笑ったよ。
まぁ、今回はそういうことがなかったのでOK。
9時過ぎに三岩を出て、
HUBへ。
月末土曜日なのでJAZZバンド「ノウティーズ」を見に行った。
Uさんお気に入りの女性ピアニストにも久しぶりにあった。
やっぱり生演奏っていい!
最後は、ラーメン「あづま」
柳麺のしょうゆはおいしい。
店長の人柄もすんばらしい。
書きくたびれた。
今回は趣向を変えて、
バンドゲーム&スリークッションという複合だ。
バンドゲーム、スリークッションの持ち点はそれぞれ5割、4割に設定。
参加者は6名。
M会長、Uさん、K君、Sさん、Wさん、そして私
I君は残念ながら仕事のため参加ならず。。。
バンドゲーム優勝はWさん
スリークッション優勝は なんと私。
総合1位はWさん、2位はK君、3位は私
ここからは、愚痴。
本来ならば、マスターあたりが
「3年もよく続いたねぇ。景品でもだそうか?」くらいあってしかるべき
だと思うんだけど、とにかく無関心だな。
自分の受け持つ夜の部だけしか興味がないんだろうか。
定期的な常連会は、バンドゲームのこの会しかないじゃないか!
お店として公認の常連会を、どうして盛り上げないんだろう。
人としての人気・信用を落とすわけだよ、マスター。
んで、ここからは 打ち上げの話。
今回はUさんが急きょ会場を押さえて頂いた。
浅草の「三岩」
そんなに料理がおいしいわけでもないんだが、お安いのでOK。
以前にも行ったことがあるんだけど
店員の態度がひどかったんだよねー。
「すみません」って声をかけたら、「いまいそがしいの!」という返事があった
これは正直笑ったよ。
まぁ、今回はそういうことがなかったのでOK。
9時過ぎに三岩を出て、
HUBへ。
月末土曜日なのでJAZZバンド「ノウティーズ」を見に行った。
Uさんお気に入りの女性ピアニストにも久しぶりにあった。
やっぱり生演奏っていい!
最後は、ラーメン「あづま」
柳麺のしょうゆはおいしい。
店長の人柄もすんばらしい。
書きくたびれた。
2009年11月27日金曜日
2009年11月25日水曜日
妻が熱でダウン
昨日、妻が新型インフルエンザ予防接種を受けてきたばかり。
今朝からのどが痛くて、調子が悪いと言っていた。
18時過ぎに車で迎えに行ったのだが、
倦怠感がひどいようだった。
帰宅して熱を計ってみると、37.8℃!
東京厚生年金病院に連絡したが、
新型インフルエンザの処置は産婦人科ではできないため
明日の朝、再度連絡することになった。
急にこんなことになってしまうんだねぇ。。
熱がこのまま、上がらないと良いんだが。。。
■追記
23時時点 36.9℃ に下がってきた。
足の裏にコウケントーを当ててみる。
朝6時時点 36.4℃ 一安心。
でもかなりの鼻声
9時 36.1℃
今朝からのどが痛くて、調子が悪いと言っていた。
18時過ぎに車で迎えに行ったのだが、
倦怠感がひどいようだった。
帰宅して熱を計ってみると、37.8℃!
東京厚生年金病院に連絡したが、
新型インフルエンザの処置は産婦人科ではできないため
明日の朝、再度連絡することになった。
急にこんなことになってしまうんだねぇ。。
熱がこのまま、上がらないと良いんだが。。。
■追記
23時時点 36.9℃ に下がってきた。
足の裏にコウケントーを当ててみる。
朝6時時点 36.4℃ 一安心。
でもかなりの鼻声
9時 36.1℃
離職票
10月末に前職を退社し、離職票が本日届いた。
・・・ほぼ1カ月かかっている。
前職の総務系のおばさまがいるのだが、
労務関連はすべて社労士にお任せしているようで
社労士の怠慢だとおもうけど、1か月もかかって離職票が
届く始末。
なんだろうなぁ。。
なんだろうなぁ、ついでに思い出した事。
前職では給料振込について、口座の銀行・支店指定があった。
なんでも
「指定銀行・指定口座 以外では、振込手数料がかかるから」
というもの
もし、指定銀行・指定口座じゃない場合は
【お給料から振込手数料を差し引いて、振り込む】と説明された。
えーーー。なにそれ って思ったけど、
そのときはしょうがなく口座を開いた。
(手数料引かれたら、たまったもんじゃない!)
で、先日ちょいとその件についてネットで調べたところ
「原則的には、振込手数料は使用者側が支払うこと」となっている。
・・・そりゃそうだよな!
労働対価としての賃金が振込レベルで差し引かれるなんて
あっちゃいけない。
なんだろうなぁ。。
・・・ほぼ1カ月かかっている。
前職の総務系のおばさまがいるのだが、
労務関連はすべて社労士にお任せしているようで
社労士の怠慢だとおもうけど、1か月もかかって離職票が
届く始末。
なんだろうなぁ。。
なんだろうなぁ、ついでに思い出した事。
前職では給料振込について、口座の銀行・支店指定があった。
なんでも
「指定銀行・指定口座 以外では、振込手数料がかかるから」
というもの
もし、指定銀行・指定口座じゃない場合は
【お給料から振込手数料を差し引いて、振り込む】と説明された。
えーーー。なにそれ って思ったけど、
そのときはしょうがなく口座を開いた。
(手数料引かれたら、たまったもんじゃない!)
で、先日ちょいとその件についてネットで調べたところ
「原則的には、振込手数料は使用者側が支払うこと」となっている。
・・・そりゃそうだよな!
労働対価としての賃金が振込レベルで差し引かれるなんて
あっちゃいけない。
なんだろうなぁ。。
2009年11月24日火曜日
ツイッター つかったー?
少し前から、興味本位でTwitterを使ってみた。
何がいいのか、まださっぱり分からない。
フォローする人、フォーローされる人が多くないと
使っている意味がないのかもね。
でも、
いちいち他人の言ってること
そんなに聞きたいのかな みんな
いちいち他人が何してるか
そんなに気になるのかな
やっている内容は、21世紀とは思えないくらい幼稚な事だよね。
つぶやきあってるだけだもん
何がいいのか、まださっぱり分からない。
フォローする人、フォーローされる人が多くないと
使っている意味がないのかもね。
でも、
いちいち他人の言ってること
そんなに聞きたいのかな みんな
いちいち他人が何してるか
そんなに気になるのかな
やっている内容は、21世紀とは思えないくらい幼稚な事だよね。
つぶやきあってるだけだもん
新型インフルエンザ予防接種 受けさせたよ
ついに、妻が新型インフルエンザ予防接種をうけた。
多くの妊婦さんが不安であったように、うちもある種の危機感にせまられて
接種した感じ。
やはり、感染を完全に防ぐことはできないし、発病時に重症化してしまったら
本当に残念なことになりかねないからね。
一般病院では
「保存剤あり」の新型インフルエンザ予防接種を受けさせるけど
妊婦の場合は「保存剤なし」を受ける必要があって、
産婦人科等でしか接種できないとのこと。
今回の新型インフルエンザ予防接種って、変にリスクを煽られて
多くの人たちがヒステリックになる寸前な気がする。
「予防接種」=「感染しない」 という誤った図式を
かなり多くの人が勘違いしてるんじゃないかな。。
「新型インフルエンザ【重症化】予防接種」とでも言わないとね。
「新型インフルエンザ【重症化】予防接種」とでも言わないとね。
北朝鮮
妻の妊娠と共に、義父は「禁煙」を約束していたのだが
妊娠5カ月を過ぎても辞められない義父についての、ちょっとした話題。
義父がホームセンターで電動アシスト自転車を発見。
かなり安かったようで、欲しいと義母に懇願。
義母「タバコ辞めたら、正規の値段であっても買ってあげるよ」
義父「自転車買ってくれないなら、タバコ辞めない」
いつの間にか、タバコ禁煙が交換条件として持ち出されるようになってしまった。
北朝鮮のようだ と義母は語る。笑
仮に自転車を先に与えてしまうと、絶対にタバコも辞めないだろうから
そういう点でも北朝鮮的だと義母は付け加える。
妊娠5カ月を過ぎても辞められない義父についての、ちょっとした話題。
義父がホームセンターで電動アシスト自転車を発見。
かなり安かったようで、欲しいと義母に懇願。
義母「タバコ辞めたら、正規の値段であっても買ってあげるよ」
義父「自転車買ってくれないなら、タバコ辞めない」
いつの間にか、タバコ禁煙が交換条件として持ち出されるようになってしまった。
北朝鮮のようだ と義母は語る。笑
仮に自転車を先に与えてしまうと、絶対にタバコも辞めないだろうから
そういう点でも北朝鮮的だと義母は付け加える。
2009年11月23日月曜日
渋谷東急デパート本店
今日は、渋谷東急デパート本店に行ってきました。
屋上のペットショップで、愛犬ハッピーのグルーミングとカットをしてもらい、
すっかりきれいになりました。
待っている間、ベビー服売り場をぶらぶらして、
たまたま冬物ベビー服のバーゲンをやっていて、
色々欲しくなりましたが、お下がりをもらえる宛がある為、
買いたい衝動をぐっと堪えました。
デパートに来て、何も買わないのもつまらないので、
旦那の靴を買いました。
とても軽量で、3Eで履き心地も良さそうです。
私は秋冬用の帽子が欲しかったのですが、
デパートの帽子は、どれも良いお値段で。。。
帰り道に、良く行く表参道の洋品店に寄り、
デパートの10分の1位の価格で、帽子が売っていたので、
それを買いました。
手洗いもできる様なので、大満足です。
2009年11月22日日曜日
布団乾燥機 素晴らしい!
布団乾燥機って、コストパフォーマンスが異常に良いと思う。
日立の乾燥機なんだけど5000円位で購入した。
花粉症がひどい時、外に布団を干せないからとにかく重宝した。
温風、送風があるので湿気を逃がしたり
かるく温めたりと 便利すぎる。
今、お気に入りの使い方は
冷い布団の温め。
以前は電気毛布を利用していたけど、こっちの方が断然いい!
フカフカになるし、電気を切り忘れるなんてこともない。
おすすめ!
日立の乾燥機なんだけど5000円位で購入した。
花粉症がひどい時、外に布団を干せないからとにかく重宝した。
温風、送風があるので湿気を逃がしたり
かるく温めたりと 便利すぎる。
今、お気に入りの使い方は
冷い布団の温め。
以前は電気毛布を利用していたけど、こっちの方が断然いい!
フカフカになるし、電気を切り忘れるなんてこともない。
おすすめ!
BEAUJOLAIS NOUVEAU
昨日、バンドゲーム常連会メンバー3人を我が家に招待して
鍋パーティを行った。(T師匠、Uさん、K君)
鍋は「トマト鍋」。
しめにパスタをからめて食べる一風変わった鍋である。
Uさんは、我が家初訪問ということもあり
わざわざ赤ワインを2本も持参していただいた。
トマト鍋に赤ワイン! すばらしい組み合わせ。
ジョルジュ デュブッフ ボジョレー・ヴィラージュ ヌーヴォー 2009
ジョルジュ デュブッフ ボジョレー・ヴィラージュ ヌーヴォー セレクション ブリュス 2009
(ジョルジュ デュブッフ というのは 「ボジョレーの帝王」と呼ばれる人のことらしい。)
今年初めてのボジョレーを頂きました。
店頭では販売していないというありがたいお酒。 Uさんありがとうございます。
好きな人たちと、ゆっくりした時間の中で過ごす喜び。
人生はきっとこういう宝物がなきゃつまらない。
(タイトルはボジョレーヌーボーって読む。)
鍋パーティを行った。(T師匠、Uさん、K君)
鍋は「トマト鍋」。
しめにパスタをからめて食べる一風変わった鍋である。
Uさんは、我が家初訪問ということもあり
わざわざ赤ワインを2本も持参していただいた。
トマト鍋に赤ワイン! すばらしい組み合わせ。
ジョルジュ デュブッフ ボジョレー・ヴィラージュ ヌーヴォー 2009
ジョルジュ デュブッフ ボジョレー・ヴィラージュ ヌーヴォー セレクション ブリュス 2009
(ジョルジュ デュブッフ というのは 「ボジョレーの帝王」と呼ばれる人のことらしい。)
今年初めてのボジョレーを頂きました。
店頭では販売していないというありがたいお酒。 Uさんありがとうございます。
好きな人たちと、ゆっくりした時間の中で過ごす喜び。
人生はきっとこういう宝物がなきゃつまらない。
(タイトルはボジョレーヌーボーって読む。)
2009年11月21日土曜日
2009年11月20日金曜日
あかすり と アトピー
今朝、ラジオを聴いていたら
「垢を落としすぎると、アトピーになりやすい」という情報を耳にした。
垢というと、汚いイメージがあるけれど
皮膚表面を、保湿・保護しているんだとか。
高級保湿クリーム以上の機能があるので、
必要以上に垢をとってはいけないんだって。
子供のころは
お風呂に入ると、毎回垢すりしてたよ。
最近は洗浄力の強い液体ボディソープのせいもあって、
垢すりもしなくなったけど
そもそもボディソープも注意が必要だな。
そんな話を義父母にしたら
オリーブオイルソープをプレゼントしてくれた。
結局は長い目でみると、昔からのものが一番いいってことか?
「垢を落としすぎると、アトピーになりやすい」という情報を耳にした。
垢というと、汚いイメージがあるけれど
皮膚表面を、保湿・保護しているんだとか。
高級保湿クリーム以上の機能があるので、
必要以上に垢をとってはいけないんだって。
子供のころは
お風呂に入ると、毎回垢すりしてたよ。
最近は洗浄力の強い液体ボディソープのせいもあって、
垢すりもしなくなったけど
そもそもボディソープも注意が必要だな。
そんな話を義父母にしたら
オリーブオイルソープをプレゼントしてくれた。
結局は長い目でみると、昔からのものが一番いいってことか?
2009年11月19日木曜日
出社のような出社じゃないような
2週間ちょっと前に退社した会社の同僚から連絡があり
DBの修正を依頼された。
急ぎの用事で、社内だけでは無理とのこと。
久々に出社した。
なんか変な気分だねぇ。
3時間ほどで修正は完了したので、
さっさと帰ろうとしたら、社員から
「また明日ね」と声かけられた。
なんか変な気分だよ。
どこかでまた、皆と会えるとうれしいと思う。
DBの修正を依頼された。
急ぎの用事で、社内だけでは無理とのこと。
久々に出社した。
なんか変な気分だねぇ。
3時間ほどで修正は完了したので、
さっさと帰ろうとしたら、社員から
「また明日ね」と声かけられた。
なんか変な気分だよ。
どこかでまた、皆と会えるとうれしいと思う。
2009年11月18日水曜日
DYSON
義父がアースレッドの残留で体調が悪いと言っており、
ソファーやベットをよく掃除することにした。
そこで登場したのが
義父母のダイソン(掃除機)
旧式ダイソンなんだけど、安かったので購入したらしい。
義父母から借りて、初めて使ってみた感想。
とにかく音がうるさい。
そして、恐ろしく重い本体。
いかにも欧米の広い家で利用するために開発されたようなもんだ。
でも、宣伝するだけあって細かいほこりが良く吸えてる!
(ほこりが目で確認できるアイディアこそダイソンの素晴らしいところだと思う)
ん。
よく考えたら
うちで使ってる掃除機って中身が見えないんだから
どの程度ダイソンがいいのかって わからないよね?
見える化 ダイソン効果。
ソファーやベットをよく掃除することにした。
そこで登場したのが
義父母のダイソン(掃除機)
旧式ダイソンなんだけど、安かったので購入したらしい。
義父母から借りて、初めて使ってみた感想。
とにかく音がうるさい。
そして、恐ろしく重い本体。
いかにも欧米の広い家で利用するために開発されたようなもんだ。
でも、宣伝するだけあって細かいほこりが良く吸えてる!
(ほこりが目で確認できるアイディアこそダイソンの素晴らしいところだと思う)
ん。
よく考えたら
うちで使ってる掃除機って中身が見えないんだから
どの程度ダイソンがいいのかって わからないよね?
見える化 ダイソン効果。
2009年11月17日火曜日
学校の先生
鶴巻小学校
1年 福田先生
松が丘小学校
1年 木村先生
2年 磯部先生(産休のため一瞬だけだった)
2年 上村すみこ先生
3年 黒沢周三先生
4年 同上
5年 上原健治先生
6年 同上
鶴巻中学校
1年 一瞬すぎて覚えていない(1か月くらい)
中込中学校
1年 神津吾朗先生
2年 秋山先生
3年 同上
岩村田高校
担任 工藤勝利先生 現国・古典・漢文
中島先生 英語(男子テニス部顧問)
茅野先生 英文法(女子テニス部顧問)
依田先生 数学 おじいさん
YSA予備校
宮原先生 数学
井手先生 数学
長谷川先生 生物
今のところこのぐらいしか覚えていない
1年 福田先生
松が丘小学校
1年 木村先生
2年 磯部先生(産休のため一瞬だけだった)
2年 上村すみこ先生
3年 黒沢周三先生
4年 同上
5年 上原健治先生
6年 同上
鶴巻中学校
1年 一瞬すぎて覚えていない(1か月くらい)
中込中学校
1年 神津吾朗先生
2年 秋山先生
3年 同上
岩村田高校
担任 工藤勝利先生 現国・古典・漢文
中島先生 英語(男子テニス部顧問)
茅野先生 英文法(女子テニス部顧問)
依田先生 数学 おじいさん
YSA予備校
宮原先生 数学
井手先生 数学
長谷川先生 生物
今のところこのぐらいしか覚えていない
2009年11月16日月曜日
Ruby言語で書いたクローラー
とある不動産投資物件のデータをクロールするために
作ったクローラ
備忘録として残しておく。
Ruby習いたてで書いたので色々修正するところもありそう。
#! ruby -Ks
# ○○○サイトクローラー
#
# 利用方法:コマンドラインより実施
# ruby site_crawler.rb 引数1
#
# 引数1:なし →Typeのすべてを取得
# 引数1:種別名称 →Typeに一致するものだけを取得
# 例) ruby site_crawler.rb 投資用マンション ##投資用マンションのみ取得
# 例) ruby site_crawler.rb ##すべて取得
#
# 出力されるCSVは、Shift-JIS タブ区切り 改行コード:CRFL
require 'rubygems'
require 'mechanize'
require 'kconv'
require 'hpricot'
# サイト毎の基本変更点は以下のとおり
#
# ①データ一覧のトップページ
# ②物件詳細URLに含まれるべき文字列(正規表現可能)
# ③物件リストの次ページリンク文字列(正規表現可能)
# ④次へページの挙動
# ⑤CSV出力ファイル名
# ⑥データ項目
# ⑦無効データ
# および、データ項目でHTMLを解析して取得すべきデータのプログラミング
# ①データ一覧のトップページ
Type = {
"投資用マンション"=>"http://www.xxxxxx.com/list/t=1",
"売りアパート"=>"http://www.xxxxxx.com/list/t=2",
"売りマンション"=>"http://www.xxxxxx.com/list/t=3",
"戸建賃貸"=>"http://www.xxxxxx.com/list/t=8"
}
if ARGV[0]
Type.each{|tkey,tvalue|
if tkey!=ARGV[0]
Type.delete(tkey)
end
}
end
# ②物件詳細URLに含まれるべき文字列(正規表現可能)
url_match_str = %r!/realestate/!
# ③物件リストの次ページリンク文字列(正規表現可能)
next_page_link_match_str = %r!次の[0-9]+件!
# ④次へページの挙動
def nextPage_click(agent, link, nextPageNum)
# 次へページがURLベースである場合は下記を利用
nextPage = link.click
return nextPage
# # 次へページがjavascriptなど、URLベースで無い場合はここを変更して利用する
# # 内部HTMLを解析し、パラメータの状態を確認のこと
# form = agent.page.form_with("page_jump")
# form["start_index"]=(nextPageNum-1)*20
# form.submit
# nextPage = agent.page
# return nextPage
end
# ⑤CSV出力ファイル名
CsvFileName = "site_crawler.csv"
tmpCsvFileName = CsvFileName
# ⑥データ項目
csv_item_ary=[
#
# ここは、データ一意性のための番号が振られます
"取得番号", #各取得タイプ内での連番(プログラムで振ります)
"取得タイプ", #Type の名称が入ります
"サイトURL", #
"取得年月日", #
#
# ここからはTRデータ項目(HTML取得出来る名称で設定してください)
#
"価格", #
"満室時利回り", #
"築年月", #
"満室時年収", #
"物件名", #
"建物構造/階数", #
"建物構造", #
"交通", #
"住所", #
"土地面積", #
"土地権利", #
"専有面積", #
"間取り", #
"建物面積", #
"建ペイ率/容積率", #
"接道状況", #
"用途地域", #
"防火/国土法", #
"管理費/修繕積立", #
"管理会社名/管理方式", #
"取引態様", #
"問い合わせ", #
"現況", #
"引渡", #
"更新予定日物件登録日", #
"管理ID", #
"営業時間", #
"定休日", #
"備考" #
]
# ⑦無効データ
del_item_ary = [
]
# 1項目内の改行文字を置き換えたもの
Line_Separator_In_Item = "@改行@"
# 開始時刻
s_time = Time.now
# ページ遷移待ち時間
Wait_Time = 6
# リトライタイム
Retry_Time = 5
# CSVデータのセパレータ
Separator_In_Data = "\t"
# CSV書き出し中フラグ
flg_w = false
# 実データ(1レコード分)格納領域
# csv_item_aryと同インデックスに値が入る
csv_data_ary = Array.new(csv_item_ary.length)
# ログ吐き出しメソッドの定義
def puts_log(log)
puts Time.now.strftime("%H:%M:%S") + ' ' + log.tosjis
end
# 改行コード類を固定文字列に変換する
def my_gsub_kaigyo(tmp_line, del_item_ary)
tmp_line.gsub!(/\r\n/,Line_Separator_In_Item)
tmp_line.gsub!(/\n/,Line_Separator_In_Item)
tmp_line.gsub!(/\r/,Line_Separator_In_Item)
tmp_line.gsub!(/\t/,'') #タブコードは、CSVセパレータなので無効にしておく
del_item_ary.each do |ditem|
tmp_line.gsub!(ditem,'')
end
return tmp_line
end
#
# ここからはじまり
#
# ブラウザオブジェクトの生成
WWW::Mechanize.html_parser = Hpricot
agent = WWW::Mechanize.new
agent.max_history = 1 # 履歴記録は現ページのみ(メモリ浪費させないため)
agent.user_agent_alias = 'Windows IE 7' # 重要:IE7のふりをする
#
# メイン処理ループ
# tkey : 取得サイトタイプ名
# tvalue : 取得サイトトップURL
Type.each {|tkey,tvalue|
puts_log('---' + tkey + 'の取得開始---')
site_top_url = tvalue
#取得サイトトップURLからURIオブジェクトを生成する(相対パスが出てきたときに絶対パス変換で必要)
parent_uri = URI.parse(site_top_url)
# 物件詳細URL 記録用配列
url_ary = Array.new
# トップページにアクセス
page_num = 1 # ページ番号
begin
page = agent.get(site_top_url) #pageオブジェクトを取得
rescue
puts_log(tkey + ':1ページ目 アクセス失敗。リトライします。')
sleep(Retry_Time)
retry
end
# 一覧リストから、物件ページURLを記録(開始)
begin
sleep(Wait_Time)
# 現在のページに対して、リンク一覧を取得し、未記録の物件ページURLを記録する
page.links.each do |link|
begin
url = parent_uri.merge(link.uri.to_s).to_s
rescue
# linkオブジェクトにはURL変換不能なもの(javascript)なども含まれるため
# 例外処理としてこのブロックはある。(とくになにもしない)
end
# 指定リンク文字列(url_match_str)があるか
if url!=nil and url.match(url_match_str)
# そのURLは格納済みか?
if not(url_ary.include? url)
# 未記録URLであれば格納する
url_ary.push url
end
end
end
puts_log(tkey + ':' + page_num.to_s + 'ページ目 物件リストURL取得完了')
# 次ページをめくる処理
if next_page_link = page.link_with(:text => next_page_link_match_str) and next_page_link.uri!=nil
page_num += 1 # ページ番号インクリメント
begin
page = nextPage_click(agent, next_page_link, page_num)
rescue
puts_log(tkey + ':' + page_num.to_s + 'ページ目 アクセス失敗。リトライします。')
sleep(Retry_Time)
retry
end
else
break # クリックすべきリンクがない場合は、ループを抜ける
end
end while true
# 一覧リストから、物件ページURLを記録(終了)
# 物件数(詳細ページURLの格納数)取得
bukken_count = url_ary.length
# 最初の書き出しであれば、CSVファイルにヘッダを書き出す
tmpCsvFileName = CsvFileName
if flg_w==false
if ARGV[0]!=nil
tmpCsvFileName = CsvFileName.gsub(%r!\.!,'_'+tkey+'.')
end
open(tmpCsvFileName,"w") do |f|
flg_w = true
f.write csv_item_ary.join(Separator_In_Data).tosjis + "\n"
end
end
# 記録済みの物件詳細URLからそのページにアクセスする
url_ary.each_with_index do |url, idx|
# データ記録先配列をクリア
csv_data_ary.clear
begin
sleep(Wait_Time)
# 物件詳細URLページにアクセス
page = agent.get(url)
rescue TimeoutError
puts_log(tkey + ':' + page_num.to_s + '(タイムアウト)物件詳細ページアクセス失敗。リトライします。 ' + url)
sleep(Retry_Time)
retry
rescue WWW::Mechanize::ResponseCodeError => ex
case ex.response_code
when '404' then
puts_log(tkey + ':' + page_num.to_s + '(404エラー)物件詳細ページアクセス失敗。Jump ' + url)
else
puts_log(tkey + ':' + page_num.to_s + '(' + ex.response_code.to_s + 'エラー)物件詳細ページアクセス失敗。リトライします。 ' + url)
sleep(Retry_Time)
retry
end
end
# 正常にレスポンスがあったページについてデータを取得(開始)
if page.code=="200"
# Hpricotでinner_textでは正しく変換されない文字列を置換しておく
# 文字化けがある場合は、ここで変換しておく
page.body.gsub!(%r!^ +!,'') # 行頭の空白を削除しておく
page.body.gsub!(%r! +$!,'') # 行末の空白を削除しておく
page.body.gsub!(%r!\t!,'') # タブを削除しておく
page.body.gsub!(%r! !,' ') # HTML特殊コードの半角空白が正常にinner_textできないので空白に置換しておく
page.body.gsub!(%r! !,' ') # HTML特殊コードの半角空白が正常にinner_textできないので空白に置換しておく
page.body.gsub!(%r! !,' ') # HTML特殊コードの半角空白が正常にinner_textできないので空白に置換しておく
page.body.gsub!(%r! !,' ') # HTML特殊コードの半角空白が正常にinner_textできないので空白に置換しておく
page.body.gsub!(%r! !,' ') # HTML特殊コードの半角空白が正常にinner_textできないので空白に置換しておく
page.body.gsub!(%r!"!,'') # CSV出力に影響があるため、ダブルコーテーションを無効にしておく
# HTML上改行テキストは特殊文字に置換しておく
page.body.gsub!(%r!\r\n!,Line_Separator_In_Item)
page.body.gsub!(%r!\n!,Line_Separator_In_Item)
page.body.gsub!(%r!\r!,Line_Separator_In_Item)
doc = page.root # 現ページからドキュメントを取得する
trs = doc/:tr # trタグ一覧を取得
tr_data_ary = Array.new # 一時データ格納用
trs.each do |trs_data|
tmp_line = trs_data.inner_html
tmp_line.gsub!(%r!(
tmp_line.gsub!(%r!<("[^"]*"|'[^']*'|[^'">])*>!,'') # タグの無効化
tr_data = tmp_line.split(Line_Separator_In_Item)
tr_data.delete("") # 配列要素の無駄な空白は削除
del_item_ary.each do |ditem|
tr_data.delete(ditem) # 無効にすべきデータを削除する
end
tr_data_ary.push tr_data # 一時データ格納用へ追加
end
tr_data_ary.each do |tr|
tr.each do |tr_data|
tr_data.gsub!(%r!^ +!,'') # 行頭の空白を削除しておく
tr_data.gsub!(%r! +$!,'') # 行末の空白を削除しておく
end
end
prev_item_idx = -1 # 項目番号(-1 は対応する項目番号なし)
flg_d = false # データ登録
tr_data_ary.each do |tr|
if flg_d==true
prev_item_idx = -1
flg_d = false
end
tr.each do |tr_data|
#データが項目名と一致するか
if now_item_idx = csv_item_ary.index(tr_data)
# 項目名と一致するので、項目番号をセットする
prev_item_idx = now_item_idx
flg_d = false
else
now_item_idx = -1 #-1は非項目を表す(すなわち記録する可能性の高いデータ)
# prev_item_idx>=0 すなわち、項目内であることがわかっている場合
if prev_item_idx>=0
# データを記録する(初めての場合はそのまま、何か入っている場合は Line_Separator_In_Item をはさんで記録)
if not csv_data_ary[prev_item_idx]
csv_data_ary[prev_item_idx] = tr_data
else
csv_data_ary[prev_item_idx] = csv_data_ary[prev_item_idx] + Line_Separator_In_Item + tr_data
end
flg_d = true
end
end
end
end
#
# 基本的にここは変更しない(ここから)
#
# 取得番号
csv_data_ary[csv_item_ary.index("取得番号")] = (idx+1)
# 取得タイプ
csv_data_ary[csv_item_ary.index("取得タイプ")] = tkey
# サイトURL
csv_data_ary[csv_item_ary.index("サイトURL")] = url
# 取得年月日 YYYYmmdd形式
csv_data_ary[csv_item_ary.index("取得年月日")] = s_time.strftime("%Y%m%d")
#
# 基本的にここは変更しない(ここまで)
#
#
# CSVとしてデータを書き出す
#
open(tmpCsvFileName,"a") do |f|
f.write csv_data_ary.join(Separator_In_Data).tosjis + "\n"
end
puts_log(tkey + ':' + 'CSV書出し ' + (idx+1).to_s + "/" + bukken_count.to_s)
else
puts_log(tkey + ':' + '404エラー:データ取得不能 次へJUMP' + url)
end
# 正常にレスポンスがあったページについてデータを取得(終了)
end
puts_log('---' + tkey + 'の取得終了---')
}
puts_log(tmpCsvFileName + ' 処理時間 '+(Time.now-s_time).to_s + 's')
作ったクローラ
備忘録として残しておく。
Ruby習いたてで書いたので色々修正するところもありそう。
#! ruby -Ks
# ○○○サイトクローラー
#
# 利用方法:コマンドラインより実施
# ruby site_crawler.rb 引数1
#
# 引数1:なし →Typeのすべてを取得
# 引数1:種別名称 →Typeに一致するものだけを取得
# 例) ruby site_crawler.rb 投資用マンション ##投資用マンションのみ取得
# 例) ruby site_crawler.rb ##すべて取得
#
# 出力されるCSVは、Shift-JIS タブ区切り 改行コード:CRFL
require 'rubygems'
require 'mechanize'
require 'kconv'
require 'hpricot'
# サイト毎の基本変更点は以下のとおり
#
# ①データ一覧のトップページ
# ②物件詳細URLに含まれるべき文字列(正規表現可能)
# ③物件リストの次ページリンク文字列(正規表現可能)
# ④次へページの挙動
# ⑤CSV出力ファイル名
# ⑥データ項目
# ⑦無効データ
# および、データ項目でHTMLを解析して取得すべきデータのプログラミング
# ①データ一覧のトップページ
Type = {
"投資用マンション"=>"http://www.xxxxxx.com/list/t=1",
"売りアパート"=>"http://www.xxxxxx.com/list/t=2",
"売りマンション"=>"http://www.xxxxxx.com/list/t=3",
"戸建賃貸"=>"http://www.xxxxxx.com/list/t=8"
}
if ARGV[0]
Type.each{|tkey,tvalue|
if tkey!=ARGV[0]
Type.delete(tkey)
end
}
end
# ②物件詳細URLに含まれるべき文字列(正規表現可能)
url_match_str = %r!/realestate/!
# ③物件リストの次ページリンク文字列(正規表現可能)
next_page_link_match_str = %r!次の[0-9]+件!
# ④次へページの挙動
def nextPage_click(agent, link, nextPageNum)
# 次へページがURLベースである場合は下記を利用
nextPage = link.click
return nextPage
# # 次へページがjavascriptなど、URLベースで無い場合はここを変更して利用する
# # 内部HTMLを解析し、パラメータの状態を確認のこと
# form = agent.page.form_with("page_jump")
# form["start_index"]=(nextPageNum-1)*20
# form.submit
# nextPage = agent.page
# return nextPage
end
# ⑤CSV出力ファイル名
CsvFileName = "site_crawler.csv"
tmpCsvFileName = CsvFileName
# ⑥データ項目
csv_item_ary=[
#
# ここは、データ一意性のための番号が振られます
"取得番号", #各取得タイプ内での連番(プログラムで振ります)
"取得タイプ", #Type の名称が入ります
"サイトURL", #
"取得年月日", #
#
# ここからはTRデータ項目(HTML取得出来る名称で設定してください)
#
"価格", #
"満室時利回り", #
"築年月", #
"満室時年収", #
"物件名", #
"建物構造/階数", #
"建物構造", #
"交通", #
"住所", #
"土地面積", #
"土地権利", #
"専有面積", #
"間取り", #
"建物面積", #
"建ペイ率/容積率", #
"接道状況", #
"用途地域", #
"防火/国土法", #
"管理費/修繕積立", #
"管理会社名/管理方式", #
"取引態様", #
"問い合わせ", #
"現況", #
"引渡", #
"更新予定日物件登録日", #
"管理ID", #
"営業時間", #
"定休日", #
"備考" #
]
# ⑦無効データ
del_item_ary = [
]
# 1項目内の改行文字を置き換えたもの
Line_Separator_In_Item = "@改行@"
# 開始時刻
s_time = Time.now
# ページ遷移待ち時間
Wait_Time = 6
# リトライタイム
Retry_Time = 5
# CSVデータのセパレータ
Separator_In_Data = "\t"
# CSV書き出し中フラグ
flg_w = false
# 実データ(1レコード分)格納領域
# csv_item_aryと同インデックスに値が入る
csv_data_ary = Array.new(csv_item_ary.length)
# ログ吐き出しメソッドの定義
def puts_log(log)
puts Time.now.strftime("%H:%M:%S") + ' ' + log.tosjis
end
# 改行コード類を固定文字列に変換する
def my_gsub_kaigyo(tmp_line, del_item_ary)
tmp_line.gsub!(/\r\n/,Line_Separator_In_Item)
tmp_line.gsub!(/\n/,Line_Separator_In_Item)
tmp_line.gsub!(/\r/,Line_Separator_In_Item)
tmp_line.gsub!(/\t/,'') #タブコードは、CSVセパレータなので無効にしておく
del_item_ary.each do |ditem|
tmp_line.gsub!(ditem,'')
end
return tmp_line
end
#
# ここからはじまり
#
# ブラウザオブジェクトの生成
WWW::Mechanize.html_parser = Hpricot
agent = WWW::Mechanize.new
agent.max_history = 1 # 履歴記録は現ページのみ(メモリ浪費させないため)
agent.user_agent_alias = 'Windows IE 7' # 重要:IE7のふりをする
#
# メイン処理ループ
# tkey : 取得サイトタイプ名
# tvalue : 取得サイトトップURL
Type.each {|tkey,tvalue|
puts_log('---' + tkey + 'の取得開始---')
site_top_url = tvalue
#取得サイトトップURLからURIオブジェクトを生成する(相対パスが出てきたときに絶対パス変換で必要)
parent_uri = URI.parse(site_top_url)
# 物件詳細URL 記録用配列
url_ary = Array.new
# トップページにアクセス
page_num = 1 # ページ番号
begin
page = agent.get(site_top_url) #pageオブジェクトを取得
rescue
puts_log(tkey + ':1ページ目 アクセス失敗。リトライします。')
sleep(Retry_Time)
retry
end
# 一覧リストから、物件ページURLを記録(開始)
begin
sleep(Wait_Time)
# 現在のページに対して、リンク一覧を取得し、未記録の物件ページURLを記録する
page.links.each do |link|
begin
url = parent_uri.merge(link.uri.to_s).to_s
rescue
# linkオブジェクトにはURL変換不能なもの(javascript)なども含まれるため
# 例外処理としてこのブロックはある。(とくになにもしない)
end
# 指定リンク文字列(url_match_str)があるか
if url!=nil and url.match(url_match_str)
# そのURLは格納済みか?
if not(url_ary.include? url)
# 未記録URLであれば格納する
url_ary.push url
end
end
end
puts_log(tkey + ':' + page_num.to_s + 'ページ目 物件リストURL取得完了')
# 次ページをめくる処理
if next_page_link = page.link_with(:text => next_page_link_match_str) and next_page_link.uri!=nil
page_num += 1 # ページ番号インクリメント
begin
page = nextPage_click(agent, next_page_link, page_num)
rescue
puts_log(tkey + ':' + page_num.to_s + 'ページ目 アクセス失敗。リトライします。')
sleep(Retry_Time)
retry
end
else
break # クリックすべきリンクがない場合は、ループを抜ける
end
end while true
# 一覧リストから、物件ページURLを記録(終了)
# 物件数(詳細ページURLの格納数)取得
bukken_count = url_ary.length
# 最初の書き出しであれば、CSVファイルにヘッダを書き出す
tmpCsvFileName = CsvFileName
if flg_w==false
if ARGV[0]!=nil
tmpCsvFileName = CsvFileName.gsub(%r!\.!,'_'+tkey+'.')
end
open(tmpCsvFileName,"w") do |f|
flg_w = true
f.write csv_item_ary.join(Separator_In_Data).tosjis + "\n"
end
end
# 記録済みの物件詳細URLからそのページにアクセスする
url_ary.each_with_index do |url, idx|
# データ記録先配列をクリア
csv_data_ary.clear
begin
sleep(Wait_Time)
# 物件詳細URLページにアクセス
page = agent.get(url)
rescue TimeoutError
puts_log(tkey + ':' + page_num.to_s + '(タイムアウト)物件詳細ページアクセス失敗。リトライします。 ' + url)
sleep(Retry_Time)
retry
rescue WWW::Mechanize::ResponseCodeError => ex
case ex.response_code
when '404' then
puts_log(tkey + ':' + page_num.to_s + '(404エラー)物件詳細ページアクセス失敗。Jump ' + url)
else
puts_log(tkey + ':' + page_num.to_s + '(' + ex.response_code.to_s + 'エラー)物件詳細ページアクセス失敗。リトライします。 ' + url)
sleep(Retry_Time)
retry
end
end
# 正常にレスポンスがあったページについてデータを取得(開始)
if page.code=="200"
# Hpricotでinner_textでは正しく変換されない文字列を置換しておく
# 文字化けがある場合は、ここで変換しておく
page.body.gsub!(%r!^ +!,'') # 行頭の空白を削除しておく
page.body.gsub!(%r! +$!,'') # 行末の空白を削除しておく
page.body.gsub!(%r!\t!,'') # タブを削除しておく
page.body.gsub!(%r! !,' ') # HTML特殊コードの半角空白が正常にinner_textできないので空白に置換しておく
page.body.gsub!(%r! !,' ') # HTML特殊コードの半角空白が正常にinner_textできないので空白に置換しておく
page.body.gsub!(%r! !,' ') # HTML特殊コードの半角空白が正常にinner_textできないので空白に置換しておく
page.body.gsub!(%r! !,' ') # HTML特殊コードの半角空白が正常にinner_textできないので空白に置換しておく
page.body.gsub!(%r! !,' ') # HTML特殊コードの半角空白が正常にinner_textできないので空白に置換しておく
page.body.gsub!(%r!"!,'') # CSV出力に影響があるため、ダブルコーテーションを無効にしておく
# HTML上改行テキストは特殊文字に置換しておく
page.body.gsub!(%r!\r\n!,Line_Separator_In_Item)
page.body.gsub!(%r!\n!,Line_Separator_In_Item)
page.body.gsub!(%r!\r!,Line_Separator_In_Item)
doc = page.root # 現ページからドキュメントを取得する
trs = doc/:tr # trタグ一覧を取得
tr_data_ary = Array.new # 一時データ格納用
trs.each do |trs_data|
tmp_line = trs_data.inner_html
tmp_line.gsub!(%r!(
tr_data = tmp_line.split(Line_Separator_In_Item)
tr_data.delete("") # 配列要素の無駄な空白は削除
del_item_ary.each do |ditem|
tr_data.delete(ditem) # 無効にすべきデータを削除する
end
tr_data_ary.push tr_data # 一時データ格納用へ追加
end
tr_data_ary.each do |tr|
tr.each do |tr_data|
tr_data.gsub!(%r!^ +!,'') # 行頭の空白を削除しておく
tr_data.gsub!(%r! +$!,'') # 行末の空白を削除しておく
end
end
prev_item_idx = -1 # 項目番号(-1 は対応する項目番号なし)
flg_d = false # データ登録
tr_data_ary.each do |tr|
if flg_d==true
prev_item_idx = -1
flg_d = false
end
tr.each do |tr_data|
#データが項目名と一致するか
if now_item_idx = csv_item_ary.index(tr_data)
# 項目名と一致するので、項目番号をセットする
prev_item_idx = now_item_idx
flg_d = false
else
now_item_idx = -1 #-1は非項目を表す(すなわち記録する可能性の高いデータ)
# prev_item_idx>=0 すなわち、項目内であることがわかっている場合
if prev_item_idx>=0
# データを記録する(初めての場合はそのまま、何か入っている場合は Line_Separator_In_Item をはさんで記録)
if not csv_data_ary[prev_item_idx]
csv_data_ary[prev_item_idx] = tr_data
else
csv_data_ary[prev_item_idx] = csv_data_ary[prev_item_idx] + Line_Separator_In_Item + tr_data
end
flg_d = true
end
end
end
end
#
# 基本的にここは変更しない(ここから)
#
# 取得番号
csv_data_ary[csv_item_ary.index("取得番号")] = (idx+1)
# 取得タイプ
csv_data_ary[csv_item_ary.index("取得タイプ")] = tkey
# サイトURL
csv_data_ary[csv_item_ary.index("サイトURL")] = url
# 取得年月日 YYYYmmdd形式
csv_data_ary[csv_item_ary.index("取得年月日")] = s_time.strftime("%Y%m%d")
#
# 基本的にここは変更しない(ここまで)
#
#
# CSVとしてデータを書き出す
#
open(tmpCsvFileName,"a") do |f|
f.write csv_data_ary.join(Separator_In_Data).tosjis + "\n"
end
puts_log(tkey + ':' + 'CSV書出し ' + (idx+1).to_s + "/" + bukken_count.to_s)
else
puts_log(tkey + ':' + '404エラー:データ取得不能 次へJUMP' + url)
end
# 正常にレスポンスがあったページについてデータを取得(終了)
end
puts_log('---' + tkey + 'の取得終了---')
}
puts_log(tmpCsvFileName + ' 処理時間 '+(Time.now-s_time).to_s + 's')
2009年11月14日土曜日
2009年11月13日金曜日
玄米ご飯
妻が母親学級で「白米をやめて、玄米をとるように」といわれてきたために
この2日間、夕飯時に玄米を食べている。
玄米って、しっかり噛まないと食べられないね
白米のときは、おかずを先にモグモグ あとから白米をほおばって
モグモグ でもって 一緒にゴクン という感じだった。
玄米の場合は
まず、玄米をめちゃくちゃよく噛んで口の中でおかゆ状にしてから
おかずをほおばって さらに噛んでゴクン。
食事の時間が少し長くなったし、
ご飯の量が少しでも満腹感を感じる。
これってすごいことだよ
白米→玄米 にしただけで、かなり色々変化する。
とにかく変化したのは、朝のウンチ
みるからに健康そうな色になってる。。。
玄米おそるべし。
この2日間、夕飯時に玄米を食べている。
玄米って、しっかり噛まないと食べられないね
白米のときは、おかずを先にモグモグ あとから白米をほおばって
モグモグ でもって 一緒にゴクン という感じだった。
玄米の場合は
まず、玄米をめちゃくちゃよく噛んで口の中でおかゆ状にしてから
おかずをほおばって さらに噛んでゴクン。
食事の時間が少し長くなったし、
ご飯の量が少しでも満腹感を感じる。
これってすごいことだよ
白米→玄米 にしただけで、かなり色々変化する。
とにかく変化したのは、朝のウンチ
みるからに健康そうな色になってる。。。
玄米おそるべし。
2009年11月11日水曜日
2009年11月10日火曜日
母親学級1回目
院長先生や栄養士さん、助産師など色々な方のお話を聞きました。
なかでも助産師さんの説明が一番心に残りました。
助産師さんは、このクラスはみんな安産でいきましょう!!
と、かなり気合いの入った感じで、
安産と良い母乳を作る為の色々なポイントを教わりました。
(教わったというか約束させられました)
<教わったポイント>
1.体を冷やさない
・家では膝下から下は絶対出さない事
(ハイソックスや、レッグウォーマー等)
・冷たい飲み物禁止(HOTか、せめて常温)
・外では、貼るカイロを腰につける事
2.1日1.2ℓ以上水分接種する事
(ノーカフェインで=コーヒーやお茶はダメ)
3.以下の食品は、なるべく避ける
・動物性たんぱく質
・乳製品(→豆乳製品に替える)
・甘いもの
・白米(→玄米に替える)
4.骨盤のゆがみを解消する
・骨盤体操を毎日する事
5.1日1時間歩く
(36週以降は2時間)
とまあ、大変そうですが、
安産だけでなく、出産後の母乳の事までを考えた場合の
助言なので、信じて頑張ってみよう思います。
おとこのこ
今日は色々あった。
妻が妊婦定期健診にて、「おとこの子」であることを知り
私へ携帯メールで連絡をくれた。
私へ携帯メールで連絡をくれた。
ドキドキ感もなく性別が判明 笑。
新型インフルエンザの予防接種はとにかく予約が面倒だ。
変な優先順位をつけるからこんなことになるんだーぁ。
東京厚生年金病院の受付担当者はあまりにも対応が横柄で辟易してしまったよ。
でもまぁ、義母・妻の接種予約が出来てよかった。
とにかく一安心。
妻の携帯電話が昨日から液晶真っ黒&電源入らず。
ドコモショップで修理依頼をした。
色々機能が集約化しているツールは、故障があったときの
バックアップが重要だねぇ。っていうか 利用者が意識することなく
バックアップぐらい簡単にできる仕組をドコモ側で用意すりゃいいのに。
そのあたり、全然IT化されてない!
そのあたり、全然IT化されてない!
ビリヤードのお師匠様は、相変わらず悩み多き感じ。
どーにかしてあげたいけどねぇ。。
登録:
投稿 (Atom)