VBScript Tips(スクレイピング・一括処理)

スクレイピングを行う
VBScriptでaタグを抽出するサンプル。果たしてこれが役に立つことがあるのかどうか分からないけど一応。
Option Explicit

Dim IEApp
Dim Elements, Element

Set IEApp = CreateObject("InternetExplorer.Application")

IEApp.Visible = False

IEApp.Navigate "https://www.google.co.jp/search?q=html"
Do While IEApp.Busy Or IEApp.ReadyState <> 4
  WScript.Sleep 100
Loop

Set Elements = IEApp.Document.getElementsByTagName("a")
For Each Element In Elements
  WScript.Echo Element.Href
Next

IEApp.Quit
Set IEApp = Nothing
一括処理を行う
今となってはレガシー扱いかもしれないVBScriptだけど、ちょっとした処理を行うのには重宝するので好きなんだけどなぁ。.vbsファイルにドラッグ&ドロップしたファイルを引数として処理する場合は、下のような感じ。
Option Explicit

Dim Argument

For Each Argument In WScript.Arguments
  WScript.Echo Argument
Next

WScript.Quit 0
応用例として、例えばこんな風にしておけば、わざわざフロントエンドのアプリを使わなくてもLameでmp3がエンコードできる。mp3もまた、今ではレガシーなのかもしれないけど。
Option Explicit

Dim Argument
Dim WScriptShell

Set WScriptShell = CreateObject("WScript.Shell")

For Each Argument In WScript.Arguments
  WScriptShell.Run "C:\Lame\lame.exe -b 320 " & Chr(34) & Argument & Chr(34), 1, True
Next

Set WScriptShell = Nothing

WScript.Quit 0
    この記事で書かれている製品やソフトについて
  • Windows 10 Pro 64ビット