WEBページをダウンロードし、文字列解析を行って様々な情報を得たい。
といった事はよくある。
そこでWEBページをダウンロードしてみる。
Bitsではうまくいかない(静的なページであればうまくいくのかもしれないが)ので、WebClientクラスを使う。
$source = "http://www.yahoo.co.jp" $wc = New-Object System.Net.WebClient |
ダウンロードしてきたHTMLを表示した結果は、こんな感じ。
いつものYahooのページと若干異なっていることが判る。
これは、Webサイトがアクセスしてきたブラウザに応じて返すHTMLを変えているためであろう。
そこで、WebClientにヘッダー情報を付加してIEに偽装してみる。
$source = "http://www.yahoo.co.jp" $wc = New-Object System.Net.WebClient |
結果はこんな感じ、
いつもの表示になった。
ちなみに、非同期でダウンロードするには、DownloadFileの代わりにDownloadFileAsync、文字列としてダウンロードするには、DownloadStringを使えばよさそうだ。
0 件のコメント:
コメントを投稿