ネットサーフィン中に見つけた情報
http://news.walkerplus.com/2009/1120/20/
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)