コマンドラインから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 じゃないとできないのかと思っていた・・