[解決済み] Internet Explorerのエンジンが利用できないため、応答内容を解析できない、または
2022-04-25 14:05:53
質問
powershellを使用してチャンネル9シリーズをダウンロードする必要がありますが、私が試したスクリプトはエラーになります。
-
このスクリプト
$url="https://channel9.msdn.com/blogs/OfficeDevPnP/feed/mp4high" $rss=invoke-webrequest -uri $url $destination="D:\Videos\OfficePnP" [xml]$rss.Content|foreach{ $_.SelectNodes("rss/channel/item/enclosure") }|foreach{ "Checking $($_.url.split("/")[-1]), we will skip it if it already exists in $($destination)" if(!(test-path ($destination + $_.url.split("/")[-1]))){ "Downloading: " + $_.url start-bitstransfer $_.url $destination } }
エラーで失敗しました。
Internet Explorerのエンジンが利用できないか、Internet Explorerの初回起動時の設定が完了していないため、応答内容を解析することができません。UseBasicParsingパラメータを指定して再試行してください。
-
こんなのも試してみました
# --- settings --- $feedUrl = "https://channel9.msdn.com/blogs/OfficeDevPnP/feed/mp4high" $mediaType = "mp4high" $overwrite = $false $destinationDirectory = join-path ([Environment]::GetFolderPath("MyDocuments")) "OfficeDevPnP" # --- locals --- $webClient = New-Object System.Net.WebClient # --- functions --- function PromptForInput ($prompt, $default) { $selection = read-host "$prompt`r`n(default: $default)" if ($selection) {$selection} else {$default} } function DownloadEntries { param ([string]$feedUrl) $feed = [xml]$webClient.DownloadString($feedUrl) $progress = 0 $pagepercent = 0 $entries = $feed.rss.channel.item.Length $invalidChars = [System.IO.Path]::GetInvalidFileNameChars() $feed.rss.channel.item | foreach { $url = New-Object System.Uri($_.enclosure.url) $name = $_.title $extension = [System.IO.Path]::GetExtension($url.Segments[-1]) $fileName = $name + $extension $invalidchars | foreach { $filename = $filename.Replace($_, ' ') } $saveFileName = join-path $destinationDirectory $fileName $tempFilename = $saveFilename + ".tmp" $filename if ((-not $overwrite) -and (Test-Path -path $saveFileName)) { write-progress -activity "$fileName already downloaded" -status "$pagepercent% ($progress / $entries) complete" -percentcomplete $pagepercent } else { write-progress -activity "Downloading $fileName" -status "$pagepercent% ($progress / $entries) complete" -percentcomplete $pagepercent $webClient.DownloadFile($url, $tempFilename) rename-item $tempFilename $saveFileName } $pagepercent = [Math]::floor((++$progress)/$entries*100) } } # --- do the actual work --- [string]$feedUrl = PromptForInput "Enter feed URL" $feedUrl [string]$mediaType = PromptForInput "Enter media type`r`n(options:Wmv,WmvHigh,mp4,mp4high,zune,mp3)" $mediaType $feedUrl += $mediaType [string]$destinationDirectory = PromptForInput "Enter destination directory" $destinationDirectory # if dest dir doesn't exist, create it if (!(Test-Path -path $destinationDirectory)) { New-Item $destinationDirectory -type directory } DownloadEntries $feedUrl
エラー多発で
解決方法は?
Webリクエストの呼び出しで、パラメータ
-UseBasicParsing
例えば、スクリプト(2行目)では、次のように記述します。
$rss = Invoke-WebRequest -Uri $url -UseBasicParsing
によると ドキュメント このパラメータは、IEがインストールされていない、または設定されていないシステムで必要です。
<ブロッククオートDOM (Document Object Model) の解析を行わずに、HTML コンテンツのレスポンスオブジェクトを使用します。このパラメーターは、Windows ServerオペレーティングシステムのServer Coreインストールなど、コンピューターにInternet Explorerがインストールされていない場合に必要です。
関連
-
PowerShellのジョブ関連コマンドとタスクの並列実行の解説
-
Powershellは、ユーザーのプライマリSMTPアドレスを検索します。
-
win10のスタートメニューと通知センターが開けないのをpowershellで解決する。
-
PowerShell 3.0 Hyper-V 3.0 の管理
-
Win Server 2008 R2のためのPowerShellマネジメント
-
PowerShell正規表現(Regex)の右から左へのマッチング方式のコード例
-
PowerShellでregularとValidateSetを使用してパラメータを検証する
-
[解決済み] Internet ExplorerのIFRAMEでCookieがブロックされる/保存されない
-
[解決済み] Internet Explorer 6、Internet Explorer 7、Internet Explorer 8を同一マシンで動作させる場合
-
[解決済み】Visual StudioでInternet Explorerではなくデフォルトのブラウザを開く
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Android携帯のwifiプロキシを自動設定するPowerShellスクリプト
-
PowerShellリモートタスクの実行手順
-
Ubuntu PowerShell詳解(初心者必見チュートリアル)
-
PowerShell 4.0の新コマンドを簡単に紹介します。
-
PowerShellのヒントとコツ
-
PowerShellで現在実行中のスクリプトのパスを取得する方法
-
PowerShellの条件付きパイプライン終了方法
-
統計関数のネスト深度のPowerShell実装
-
PowerShellでWPFを呼び出してクールなウィンドウを生成する例
-
Powershellでオブジェクトのデータ構造を展開し、JSON形式で出力する