40歳からのキャリアチェンジ

20代はエンジニア・PM、30代はWeb系エンジニア向けのキャリアアドバイザー。40代の今はフリーランスで開発含めて色々やってます。技術ネタとしてはRuby/RailsとJavaScript関連あたり

スクリプト少しだけ拡張しました

コマンドラインからHTMLコンテンツ取得するスクリプト - インターネット時代のキャリアプランとは?で、コマンドラインからHTMLコンテンツ取得するスクリプトについて書きましたが、wget.classに1つメソッドを追加してみました。注)正規表現のパターンのところがなぜかエキブロ投稿時にひっかかるために、タグの所は全角になってます。

Public Sub GetTitleElement()
    Dim S1,S2
    Set objRe = new RegExp
    objRe.Pattern = "<title>Amazon.co.jp: (.+?)</title>
\n<link rel=""related"" type=""text/html"" href=""(.+?)"" />"
    objRe.Global = True
    objRe.ignoreCase = True
    Set matches = objRe.Execute(my_htmlContents)
    For Each match in matches
      S1 = match.SubMatches(0)
      S2 = match.SubMatches(1)
      my_Title = S1 & S2 & vbCrLf
      WScript.Echo my_Title
    Next
  End Sub


このクラスをつかったwsfファイルで

Dim objWget
Set objWget = New wget
objWget.CharCode = "UTF-8"
objWget.Fetch()
objWget.GetTitleElement()

として、コマンドライン

cscript wget.wsf //nologo http://b.hatena.ne.jp/h5y1m141/atomfeed?tag=200701

と実行すると、私のはてブで[200701]という今月読んでいる(もしくは読んだ)本の情報が以下のように出力されます。

おまけより割引してほしい―値ごろ感の経済心理学: 本: 徳田 賢二http://www.amazon.co.jp/gp/product/448006334X

食糧テロリズム―多国籍企業はいかにして第三世界を飢えさせているか: 本: ヴァンダナシヴァ,Vandana Shiva,浦本 昌紀,金井塚 務,竹内 誠也http://www.amazon.co.jp/gp/product/475032454X

ヒューマン2.0: 本: 渡辺 千賀http://www.amazon.co.jp/gp/product/4022731222

マネーロンダリング入門―国際金融詐欺からテロ資金まで: 本: 橘 玲http://www.amazon.co.jp/gp/product/4344980093

カレーを作れる子は算数もできる: 本: 木幡 寛http://www.amazon.co.jp/gp/product/4061498630

脳を鍛える筋トレ PNFとはなにか: 本: 市川 繁之、鈴木 克憲、織田 淳太郎
http://www.amazon.co.jp/gp/product/4334033741

テレビはなぜ、つまらなくなったのか―スターで綴るメディア興亡史: 本: 金田 信一郎
http://www.amazon.co.jp/gp/product/4822201589

ユニクロvsしまむら—専門店2大巨頭圧勝の方程式: 本: 月泉 博http://www.amazon.co.jp/gp/product/4532313007

本当は、今回ついかしたメソッドは、wget.classに実装しないで、別途hatena.classのような奴をつくって、hatena.class はwget.class を継承するようなやり方にそのうちに変更していこうかと思います。

どうでもいいけど、このサイトをこの前知ったんだけど、VBScriptからSOAPClient オブジェクトつかうことで、SOAPをつかってアクセスするようなwebサービスも利用できるんだね。てっきりそういうのは、.NET じゃないとできないのかと思っていた・・