コマンドラインで参照画像を含むHTMLファイルをWebアーカイブに変換する方法は?


2

macOSでは、コマンドライン/プログラムで参照された画像を含むHTMLファイルをwebarchivesに変換します。

sample.htmlを含むサンプルファイルがあるとします。

<html><body>
<h1>File with resource</h1>
<p>This file shows text and references an image.</p>
<img src="sample.jpg" />
</body></html>

sample.jpg同じディレクトリに画像がある場合、任意のブラウザでhtmlファイルを表示でき、画像とともにレンダリングされます。ウェブアーカイブに変換するために私が試しました:

textutil -convert webarchive sample.html

ただし、sample.webarchiveSafariで開いた場合、結果はレンダリングされません-画像は含まれていますが、コメントを参照してください。

結果に画像が含まれレンダリングされるように、コマンドラインから正しく変換するにはどうすればよいですか?結局のところ、それがウェブアーカイブの目的です!


sample.htmlSafariで開き、そこからWebアーカイブを作成し、両方のファイルを移動してSafariでアーカイブを開くと機能しますか?
nohillsideの

@patrix良い質問です!私はそれを試してみました-予想通り-Safariはそれを行うことができます:Safariがアーカイブを保存すると、アーカイブを開いてレンダリングすると画像が表示されるように保存されます。-奇妙なことに、Safariアーカイブとtextutilアーカイブのファイルサイズは非常に似ているので、textutilアーカイブに画像含まれていると思いますが、レンダリングのために適切に参照されません
...-halloleo

まあ、それは確かです(あなたはで確認できますplutil -p WEBARCHIVE)。私は違いを調べませんでしたが。
nohillsideの

@patrix面白い!へのポインタのThx(Webアーカイブがこの形式をplutil使用することは知っていましたが、詳細を調査plistすることを考えていませんでしたplutil
halloleo17年

回答:


1

ツールを使用しますwebarchiver(これはを介してインストールできますbrew install webarchiver)。

webarchiver -url sample.html -output sample.webarchive

作成されたWebアーカイブには画像が含まれており、SafariはWebアーカイブを表示するときに画像を表示します。


-2

コマンドラインは、含まれている画像を認識していないと思います。

image + textで簡単なWebページをテストし、Safariで開きました。

File-> Save as .. 'webarchive'を選択すると、作成されたwebarchiveで、ファイルの最後に画像が追加されていることがわかります。

Safariがイメージを実装するために内部Swift / Objective-C関数を使用していることは非常に明白です。

htmlを取得し、イメージを参照として使用することを選択した場合、イメージは無視され、テキストのみが出力されます(textutilを使用)。

ウェブページをダウンロードするときにウェブアーカイブに依存しません-代わりに、wget、curl、scrapy / beautifulSoupなどのスクレーパーを使用してダウンロードします。

1つのファイルがあると便利ですが、画像などを保存するのに最適な方法ではないため、後で抽出するのはかなり困難です。


質問を見てくれてありがとう、しかし、私の理解から、あなたの「答え」は主に私の問題を述べています。つまり、「コマンドライン」textutilは、適切なウェブアーカイブを作成できません。私は、コマンドラインが正確にそれを行うための作業ツール/手順を求めています。
ハレレオ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.