前回、Webページのリンク抽出のスクリプトを作成した(記事)筆者だが、やはり本文もPowerShellで引っ張りたいと考える。もちろんジックリと読むには当然にブラウザで閲覧するが、ササっと記事の概要を把握するには、PowerShellでトンとコマンド入力するだけ。
忙しいさなかに、ヘッドラインを把握するにはトップページの文字列を取得するだけで十分な場合もある。
○Invoke-WebRequestでWebコンテンツを取得する

Webのコンテンツ(Content)をInvoke-WebRequestで得るのは非常にシンプルなコードで足りる。リンクを抽出する$r.Linksの代わりに、$r.Contentを指定してやればいいのだ。以下を、PowerShell上のnotepad $PROFILEで開くプロファイルに記載して、 .$PROFILEで反映させる。

function web

function web {
param(
[string]$Site = "https://www.yahoo.co.jp"
)
$r = Invoke-WebRequest $Site
$r.Content
}

ポータルサイトYahoo !のトップページを指定してみると、読めない文字列に圧倒されるがよく見ると、ちゃんと日本語の見出しがあるのが確認できる。

○正規表現でHTMLタグを除去してみる

圧倒的に、HTMLタグの<>が多い。正規表現と置換演算子の-replaceで削除すればよいので、タグを消去する]+>を加えた

-replace ']+>', ''

を追加したものが以下になる。

.
編集部おすすめ