python htmlページ全体とそのコンテンツ(画像、CSS)をURLが指定されたローカルフォルダーにダウンロードする方法があります。ローカルhtmlファイルを更新してコンテンツをローカルに選択します。
urllib
モジュールを使用して個々のURLをダウンロードできますが、これは単にデータを返します。 HTMLを解析せず、CSSファイルや画像などを自動的にダウンロードします。
「全体」ページをダウンロードする場合は、HTMLを解析し、ダウンロードする必要がある他のものを見つける必要があります。 Beautiful Soup のようなものを使用して、取得したHTMLを解析できます。
この質問 には、まさにそれを行うサンプルコードがあります。
探しているのはミラーリングツールです。 Pythonで必要な場合、PyPIは spider.py をリストしますが、私はそれを経験していません。他の方が良いかもしれませんが、私は知りません- CSSの取得 と画像をサポートする 'wget'を使用します。これはおそらくあなたが望むことをします( マニュアル から引用)
1つのHTMLページのみを取得しますが、インラインイメージや外部スタイルシートなど、ページの表示に必要なすべての要素もダウンロードされていることを確認してください。また、ダウンロードしたページがダウンロードしたリンクを参照していることを確認してください。
wget -p --convert-links http://www.server.com/dir/page.html
Urlibを使用できます。
import urllib.request
opener = urllib.request.FancyURLopener({})
url = "http://stackoverflow.com/"
f = opener.open(url)
content = f.read()