yahooのニューストピックの名前を正規表現で取得する
PowerShellは.Net.Frameworkのクラスを使用することが出来ます。.Net.FrameworkはWebアプリケーション作成ためのモジュールがそろっています。Webに関してはいろいろと操作が出来るという事です。system.Net.webclientクラスはインターネットの各リソースとのデータの送受信用を行うことが出来ます。そのため、webのソースを取得できます。これを使用して、正規表現でyahooのニューストピックの名前を正規表現で取得するシェルを作成しました。DownloadDataというメソッドはバイト形式でwebのデータを取得できます。取得したデータを文字列化して正規表現でトピックの項目名を検索しています。
set-PSDebug -strict # ---------------------------- # yahooのニューストピックの名前を正規表現で取得する # ---------------------------- # URL設定 $url = "http://www.yahoo.co.jp/" # 読み込むサイトの文字コード設定 $code_type = "utf-8" # トピックの検索パターン設定 $topics = "<a href=`"f/topics/top_table/\d/.*?(http.*?)`">(.+?)</a>" # ソースデータ読み込み時のencoding $enc = [system.Text.Encoding]::GetEncoding($code_type) # webclientオブジェクト生成 $wc = new-Object system.Net.webclient # ソースデータ取得 $data = $wc.DownloadData($url) $src = $enc.GetString($data) # トピック検索 $matches = [regex]::matches($src,$topics,"SingleLine") # 画面表示 foreach ( $m in $matches ) { $str = $m.result("`$2 [ `$1 ]") if( $str -notmatch "<img src" ){ write-Host $str } }