Front Page
Rocco の日記
2007-9-11
LL
お腹が空いてきたのでWeb::Scraperでモスバーガーのメニューをスクレイピング
やってみたいと思ったが、w3m で dump してもいいのではないかと。
モスは結構 w3m でちゃんと表示される。
awk でやってみた
まぁ、URL が決め打ちなら、awk でもできるわけで、
#! /usr/bin/gawk -f
BEGIN {
    ORS = RS = "\r\n\r\n";
    moss_url = "http://www.mos.co.jp/menu/index.html";
    tmp_file = "temp.html";
    split(moss_url, a_moss_url, /\//);
    http_url = "/inet/tcp/0/" a_moss_url[3] "/80";
    print "GET " moss_url " HTTP/1.0" |& http_url;
    while ((http_url |& getline) > 0) {
        printf("%s\n", $0) > tmp_file;
    }
    close(http_url);
    close(tmp_file);
    ORS = RS = "\n";
    FS = "\"";
    while (getline < tmp_file > 0) {
        if ($0 ~ /\/menu\// && $0 ~ /<td>/) {
            for (i = 1; i <= NF; i++) {
                if ($i ~ /img src=/ && $0 ~ /jpg/) {
                    print "image : http://" a_moss_url[3] "/" $(i + 1);
                }
                if ($i ~ /alt=/ && $0 ~ /\\/) {
                    ##print "title : " jconv($(i + 1), "SJIS", "EUC-JP");
                    print "title : " $(i + 1);
                }
                if ($i ~ /href/ && $0 ~ /\\/) {
                    print "url :http://" a_moss_url[3] "/" $(i + 1);
                }
            }
        }
    }
    close(tmp_file);
}
### convert character code
function jconv(str, incode, outcode,    conv_cmd) {
    conv_cmd = "echo '" str "' | iconv -f " incode " -t " outcode;
    conv_cmd | getline conv_str;
    close(conv_cmd);
    return conv_str;
}
$ gawk -f moss.awk | lv image : http://www.mos.co.jp//menu/img/ph_hamburger18.jpg url :http://www.mos.co.jp//menu/hamburger/thousand/ title : サウザン野菜バーガー \300 image : http://www.mos.co.jp//menu/img/ph_hamburger19.jpg url :http://www.mos.co.jp//menu/hamburger/seasar/ title : [期間限定 10月中旬まで] シーザーサラダバーガー \300 image : http://www.mos.co.jp//menu/img/ph_hamburger01.jpg url :http://www.mos.co.jp//menu/hamburger/mos_burger/ title : モスバーガー \300 image : http://www.mos.co.jp//menu/img/ph_hamburger02.jpg url :http://www.mos.co.jp//menu/hamburger/mos_cheese/ title : モスチーズバーガー \330 image : http://www.mos.co.jp//menu/img/ph_hamburger03.jpg url :http://www.mos.co.jp//menu/hamburger/teriyaki/ title : テリヤキバーガー \300 image : http://www.mos.co.jp//menu/img/ph_hamburger05.jpg url :http://www.mos.co.jp//menu/hamburger/teriyaki_chicken/ title : テリヤキチキンバーガー \300 image : http://www.mos.co.jp//menu/img/ph_hamburger06.jpg url :http://www.mos.co.jp//menu/hamburger/spicy_mos/ title : スパイシーモスバーガー \330 image : http://www.mos.co.jp//menu/img/ph_hamburger07.jpg url :http://www.mos.co.jp//menu/hamburger/spicy_moscheese/ title : スパイシーモスチーズバーガー \360 image : http://www.mos.co.jp//menu/img/ph_hamburger09.jpg url :http://www.mos.co.jp//menu/hamburger/ebi/ title : 海老カツバーガー \350 image : http://www.mos.co.jp//menu/img/ph_hamburger10.jpg url :http://www.mos.co.jp//menu/hamburger/katsu/ title : ロースカツバーガー \320 image : http://www.mos.co.jp//menu/img/ph_hamburger11.jpg url :http://www.mos.co.jp//menu/hamburger/chicken/ title : チキンバーガー \280 image : http://www.mos.co.jp//menu/img/ph_hamburger12.jpg url :http://www.mos.co.jp//menu/hamburger/fish/ title : フィッシュバーガー \280 image : http://www.mos.co.jp//menu/img/ph_hamburger13.jpg url :http://www.mos.co.jp//menu/hamburger/hamburger/ title : ハンバーガー \220 image : http://www.mos.co.jp//menu/img/ph_hamburger14.jpg url :http://www.mos.co.jp//menu/hamburger/cheese_burger/ title : チーズバーガー \250 image : http://www.mos.co.jp//menu/img/ph_rice01.jpg url :http://www.mos.co.jp//menu/rice/kinpira/ title : モスライスバーガーきんぴら \260 image : http://www.mos.co.jp//menu/img/ph_rice02.jpg url :http://www.mos.co.jp//menu/rice/kaisen/ title : モスライスバーガー海鮮かきあげ(塩だれ) \280 image : http://www.mos.co.jp//menu/img/ph_rice03.jpg url :http://www.mos.co.jp//menu/rice/buta/ title : モスライスバーガー豚しょうが焼 \350
こんな感じ。
Linux
Welcome to VirtualBox.org!
VMWare と比較してどうなんだろうか。
コメント
Re:モス - hi_saito (2007年09月11日 23時05分12秒)
あ〜、"/" が多いのは各自直しましょう。(w
TrackBack
TrackBack URL for this entry:http://gauc.no-ip.org/tb.cgi/private/Blog%3A2007%2D9%2D11
2007-9-10
LL
国際化プログラミング
gettext 以外の方式ってのは完全に淘汰されちゃったんですかねえ。
SUN の OOo とかは XML と聞いた覚えがあります。(どうやるのか分かっていませんが)
あと、Mozilla (まわり) も gettext でしたっけ?
Mozilla は Fedora では i18n ではなく、l10n に属していたはず。
その他
漢字が使える日本語フォント 無料ダウンロード 46種類
結構多くの無料フォントがあるものですね。
ソフトウェア開発者は製造業のことを知った方がよい
両方の狭間にいる私に言わせれば、逆かな。
製造業のエンジニアはソフトウェア開発者のことを知った方がよい
はっきり言って、近年製造業のソフト知識のなさにつけこんだようなソフト販売が後を絶たないのと、ソフトの正当な価格が分からない、製造業が書いたソフトウェア仕様書のレベルがひどかったり・・・まぁ、早い話が製造業はカモである。(カモにできる)
今回トヨタ流製造業発想を聞いていて
トヨタ流製造業発想が通用するのは製造業の一部でしかないことも重要である。
トヨタだって全てが JIT をやっているわけではなく、作り溜めだってするわけだし、製造管理が凄かったらリコールなんて起きないわけでしょ。
ふと、思いついたが、トヨタって「料理の鉄人」なのかもしれない、と思った。
腕もいいが、良い素材も使う。食べてくれるのは一流の人ばかり。
それを見ている視聴者は「オレだって良い素材を使えれば・・・」とか言うが、叶わない。(と思う)
コメント
TrackBack
TrackBack URL for this entry:http://gauc.no-ip.org/tb.cgi/private/Blog%3A2007%2D9%2D10
2007-9-9
Linux
なんという Mozilla24
凄く萎えたんでつけど。
どうしよう。(w
こういうのを見ていると Mozilla ってプロプライエタリなんじゃないかと思ってしまう。
その他
温度計
近所で 1980 円だったので、買ってみた。
耳温計の代わりにもなるかな。
まずまず正確。
そろそろ無断リンクについてdankogaiが一言いってもおかしくないタイミング
お前、消されるぞ
噴いた。
コメント
TrackBack
TrackBack URL for this entry:http://gauc.no-ip.org/tb.cgi/private/Blog%3A2007%2D9%2D9
2007-9-8
LL
もっと知りたいPython
こんな連載が。
後で読もう。
テラ・インコグニタ、かなり安易に発見できる
マケ? makeって何?4文字以外何も書いていないのに何をそんなに命令されているの、とコンピュータは5分以上動きつづけます!
make は便利です。
某社では make なしに生きていけません。(w
単に手順を書いておくだけなんですが、ほとんど手順書の代わりだったりするのですが、make を知らない人が多すぎ。
Unix システム触って何十年という人が make を知らないなんてことだってあるのは、どうよ。
ついでに
手順を script とか tee とか screen のログで残してあるから手順はいらないよという人もいたなぁ。
そういう人に限ってログなんて見ない。単に安心材料でしかない。
dig するだけでも手間がかかりすぎ。
エラーがあるかもしれないから、ログを見て調べるんだ、さいとう君。
いや、make 使っているから、エラーなら止まりますよ。
そういう考えがあるからダメなんだよ。さいとう君。エラーはログから探すものなんだよ。
ねーよ。(w そんなコマンド捨ててやる!
コマンドをつなげるのに ";" しか知らない人に "&&" と "||" を説くようなものだなぁ。
Linux
Subversion + Trac
来週のミーティングでみんなの前で紹介するかどうか悩み中。
バージョン管理はしているかね。さいとう君。
はい、うちは Subversion で・・・。
そういうのがいけないんだよ、さいとう君。ファイル名にバージョンを書いて管理してこそ管理した気持ちになるんだよ。
ねーよ。なんだよ、その「気持ち」って。(w
その他
涼宮ハルヒの約束
心拍数 (呼吸数) が少ない件が気になる。
第6回「仕事のスピードを上げる吉越流『会議』の極意(その3)〜パワーポイントを社内会議で駆使する会社は危ない!?〜」
・・・あれ、吉越さんはトリンプを辞められたのか。
某社では長ければ長いほど・・・1 週間で 60 枚以上の資料を用意する課長陣は何をやっているんだろう。
コメント
TrackBack
TrackBack URL for this entry:http://gauc.no-ip.org/tb.cgi/private/Blog%3A2007%2D9%2D8
2007-9-6
LL
なんというか、bf2awk でも作ってみた
#!/usr/bin/gawk -f
BEGIN {
    print "BEGIN {";
    print "c = 0";
}
{
    gsub(/\]/, "  }\n");
    gsub(/\[/, "  while(b[c] != 0) {\n");
    gsub(/\+/, "  ++b[c];\n");
    gsub(/\-/, "  --b[c];\n");
    gsub(/>/, "  ++c;\n");
    gsub(/</, "  --c;\n");
    gsub(/\./, "  putchar(b[c]);\n");
    gsub(/\,/, "  b[c] = getchar();\n");
    print $0;
}
END {
    print "}";
    print "function getchar(ch) {";
    print "while (getline > 0) {";
    print "ch=substr($0,1,1)";
    print "}";
    print "return ch";
    print "}";
    print "function putchar(ch) {";
    print "printf(\"%c\",ch)";
    print "}";
}
getchar() がおかしい気がするけど・・・。
$ echo '++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.' | gawk -f bf2awk.awk > test.awk ; gawk -f test.awk Hello World!
コメント
TrackBack
TrackBack URL for this entry:http://gauc.no-ip.org/tb.cgi/private/Blog%3A2007%2D9%2D6
最終更新時間:2006年12月10日 19時59分42秒