参照用に単一のウェブページ(再帰的ではなく、サイト全体ではなく)を保存するためにWgetを使いたいと思っています。Firefoxの “Webページ、完全 “のように
最初の問題は、CSSで指定した背景画像をWgetに保存させることができないことです。仮に背景画像ファイルを保存できたとしても、–convert-links が CSS ファイル内の背景画像 URL をローカルに保存された背景画像を指すように変換してくれるとは思えません。Firefox にも同じ問題があります
2つ目の問題は、保存したいページに別のサーバーでホストされている画像(広告など)がある場合、これらの画像は含まれません。–span-hosts は、以下の行ではこの問題を解決していないようです
私が使っているのはwget --no-parent --timestamping --convert-links --page-requisites --no-directories --no-host-directories -erobots=off http://domain.tld/webpage.html
79 user14124 2009-10-13
実際には、単一のページとそのすべての必要なものをダウンロードして(たとえそれらが別のウェブサイトに存在していても)、ローカルで適切に表示されることを確認するために、この著者は’-p’に加えていくつかのオプションを使用するのが好きです
wget -E -H -k -K -p http://www.example.com/
また、robots.txt
が-e robots=off
を追加することを禁止している場合もあります
110 vvo 2010-04-30
wget
コマンドには --mirror
というオプションがあります
$ wget -r -N -l inf --no-remove-listing
また、ホスト名を含むサイトのディレクトリ階層全体を作成するために、-x
を入れることもできます
しかし、wget
の最新版を使っていない人にはわからないかもしれません
7 Ernie Dunbar 2009-10-13
wget
と Firefox は、ダウンロードされたファイルを含むリンクの CSS を解析していないように聞こえます。これらの制限を回避するには、可能な限り wget し、ダウンロードされたファイルの CSS や Javascript からのリンク抽出をスクリプト化して、見逃したファイルのリストを生成することができます。そして、そのリンクのリスト上で wget
を二回目に実行することで、見逃したものを何でも取得することができます (URLのリストを指定するために -i
フラグを使用してください)
Perlが好きなら、CPANにCSS::Parserモジュールがあり、この方法でリンクを抽出する簡単な手段を提供してくれます
wget
は特定の html マークアップ (href
/src
) と css uris (url()
) を解析して、どのページに必要なものを取得するかを決定しているだけであることに注意してください。取得できないサードパーティ製の画像が Javascript で追加されているかどうかを調べるために、DOM Inspector や Firebug のような Firefox アドオンを使ってみるとよいでしょう
2 quack quixote 2009-10-14
似たような目的でWebtographyを作ってみました。https://webjay.github.io/webtography/
Wgetを使用し、GitHubアカウントのリポジトリにサイトをプッシュします
私はこれらの引数を使用しています
--user-agent=Webtography
--no-cookies
--timestamping
--recursive
--level=1
--convert-links
--no-parent
--page-requisites
--adjust-extension
--max-redirect=0
--exclude-directories=blog
2 webjay 2016-03-24