【PowerShell】Invoke-WebRequestを使ってWebサイトのリンクを取得する方法
PowerShellを使ってWebサイト上に存在するリンクを取得するには、まずInvoke-WebRequestコマンドレットで対象のWebページからデータを取得します。
$req = Invoke-WebRequest -uri "https://theautomationcode.com" $req
実行結果
コマンドを実行すると、Webページ全体のレスポンスが変数 $req に格納されます。このレスポンスオブジェクトには、HTMLコンテンツやステータスコード、リンク情報などさまざまなプロパティが含まれています。
Linksプロパティでリンク情報を取得する
ページ内のリンクだけを取り出したい場合は、Links プロパティを利用します。このプロパティには、InnerHTML・InnerText・outerHTML・tagName・href などのサブプロパティが含まれており、各アンカー要素(<a>タグ)の詳細な情報を確認できます。
$req = Invoke-WebRequest -uri "https://theautomationcode.com" $req.Links
実行結果
innerHTML : Scripts innerText : Scripts outerHTML : <A href="https://theautomationcode.com/scripts/">Scripts</A> outerText : Scripts tagName : A href : https://theautomationcode.com/scripts/
hrefプロパティでURLのみを抽出する
実際に必要となるのはリンク先のURLだけです。その場合は、Select-Object -ExpandProperty を使って href プロパティの値のみを展開して取得すると便利です(Select は Select-Object のエイリアスです)。
$req.Links | Select-Object -ExpandProperty href
実行結果
https://theautomationcode.com/2020/11/ https://theautomationcode.com/author/chiragce17/ https://theautomationcode.com/category/powershell/ https://theautomationcode.com/category/troubleshooting/
このように、Invoke-WebRequestとLinksプロパティを組み合わせることで、Webサイト内の全リンクを簡単に一覧化できます。サイトマップの作成やリンク切れチェックなど、Web管理業務の自動化にも活用できるテクニックなので、ぜひ覚えておきましょう。
-
Windows 8のパスワードを忘れたときのリセット方法|画像・PIN・テキストパスワード完全ガイド
Windows 8は、Microsoft史上最もセキュリティ性の高いOSとして、ログイン時に利用できる新しいパスワード方式を2つ導入しました。それが「4桁のPIN」と「ピクチャパスワード(画像パスワード)」です。PINを使えば素早くサインインでき、ピクチャパスワードなら写真をなぞるジェスチャで、より直感的かつ楽しくログインできます。とはいえ、従来のテキストパスワードも依然として重要です。ピクチャパスワードやPINをリセットする際には、通常のパスワードが必要になる場面があるためです。 Windows 8のパスワードを忘れてしまった方もご安心ください。本記事では、テキストパスワード、ピクチャパスワ
-
Windows・Mac・オンラインでGoogle Earthを録画する方法【完全ガイド】
世界は思っているよりずっと小さいもの。なぜそう言えるのか、ご存じですか?世界中を旅することが夢なら、旅行チケットに何千円も何万円も費やす必要はないかもしれません。Google Earthのようなプラットフォームが、あなたの世界一周の憧れを叶えてくれるからです。場所を入力するだけで、その土地のバーチャルな絶景を楽しむことができます。もちろん、実際にその場所へ足を運ぶ体験には及びません。しかし、例えば近いうちに家族や友人と一緒に旅行に行く予定の場所を、事前にGoogle Earthでバーチャルツアーとして共有したいと思ったことはありませんか?そんなとき、Google Earthの動画はどうやって撮