2012-03-09 6 views
2

私はC#を使用していますが、完全なWebページをダウンロードしたいプログラム的に......私はページソースだけを意味しません
FireFoxでは「ページを保存」と同じWebページをダウンロードしたいこれをプログラマチックにしたいのですか?"COMPLETE"ウェブページをプログラム的にダウンロードしていますか?

+0

動的コンテンツのない静的ページまたはページでのみ機能することに注意してください。 – MMM

答えて

10

すべての外部リソースを見つけるためにページをダウンロードして解析する必要があります。次に、それぞれを順番にダウンロードします(解析し、リソースをダウンロードすることも可能です)。

HTMLの解析には、HTML Agility Packを使用することをおすすめします。どのリソースをダウンロードしたいのか(画像、CSS、JavaScriptなど)を念頭に置いて、具体的にそのページを照会する必要があります。

一部のページではbaseが定義されていることに注意してください。ページURLには相対リンクと絶対リンクを考慮する必要があります。

画像参照などのためにCSSを解析することもできます。

これらの参照はすべて、リソースがダウンロードされた場所を指すローカルのものに変更する必要があります(感謝@Scott M)。

+0

私は自分自身でこれを行うべきですか、これを行うための図書館がありますか? –

+1

また、フォルダ内の関連リソースを指すようにHTMLの参照を変更する必要があります。 –

+1

@ahmadhori - 私はあなたのためにこれをすべて行うライブラリを認識していません。ハッピーハッキング! – Oded

関連する問題