2

Web ページを html ファイルとしてダウンロードしたいと考えています。Web ページのソース コードを html ファイルに保存する前に、まずページ コンテンツの一部を編集したいと思います。Javascriptを使用してコンテンツを編集できると思います。残念ながら、私は Javascript の経験がほとんどありません。ブラウザがそれらを一緒に実行できるように、スクリプトを Web ページに挿入する必要があると思います。スクリプトはどのように記述すればよいですか? スタンドアロン スクリプトを作成し、同時に実行できるようにページの URL をスクリプトに渡す必要がありますか? または、スクリプトを挿入する他の方法はありますか?

編集:私の問題を明確にするために、この投稿この投稿を参照してください

4

3 に答える 3

3

これを行うのは 1 回だけなので、ブラウザの JavaScript コンソールからスクリプトを開始するだけで十分です。開発者ツールを開き、コンソール タブに移動し、スクリプト コンテンツを貼り付けて、Enter キーを押します。

編集された HTML を取得するdocument.documentElement.outerHTMLには、コンソールで式を評価します。出力を選択したテキスト エディターにコピーし、先頭に doctype を追加して、html として保存します。

于 2013-01-11T06:57:55.743 に答える
1

変更したソースを html として保存する場合は、何をメインアップしたいかによって、さまざまなアプローチを使用できます。悲しいことに、javascript を使用したファイルの保存はトリッキーで、さまざまな要因に依存するため、オプションを使用してファイル ソースを手動でコピーするか、ブラウザーに書き込み、特定のファイル セーバーを設定することができます。私はjavascript + phpコンボソリューションを好むでしょう。または、javascript で何かを操作する必要がない場合は、完全に php で行います。

ステップ 1 - Chrome および Firefox でコンソールを使用してブラウザーを開きます CTRL+SHIFT+J ポップアップを許可します。ステップ 2 - 必要な Web ページを開く ステップ 3 - 次のコードをコンソールにコピーする

//Script loading function
function load_script( source ) {
    var new_script  = document.createElement('script');
    new_script.type = 'text/javascript';
    new_script.src = source;
    new_script.className = 'MyInjectedScript';
    document.getElementsByTagName('head')[0].appendChild(new_script);
}
function escapeHtml(unsafe) {
  return unsafe
      .replace(/&/g, "&")
      .replace(/</g, "&lt;")
      .replace(/>/g, "&gt;")
      .replace(/"/g, "&quot;")
      .replace(/'/g, "&#039;");
}
//Load jQuery, if page do not have it by default
if (typeof(jQuery) != 'function') load_script('http://code.jquery.com/jquery-latest.js');

ステップ 4 - コンソールで操作を行う

ステップ 5 - 次のコードをコンソールにコピーする

//In the end remove your injected scripts
$('.MyInjectedScript').remove(); //Or jquery script will be in source
//get Document source
var doc_source = $('html',document).html();
doc_source = '<html>'+doc_source+'</html>';


var new_window = window.open('', '', 'scrollbars=yes,resizable=yes,location=yes,status=yes');
$(new_window.document.body).html('<textarea id="MySource">'+escapeHtml(doc_source)+'</textarea>');

STEP 6 - 開いたウィンドウのテキストエリアから貼り付けコードをコピー

PHP で実行する場合は、curl を使用してページを簡単にダウンロードし、コンテンツを操作して必要に応じてファイルを保存できます。

于 2013-01-11T08:01:07.290 に答える