#mpa_archiveとは何か?最新のWebサイトをzipにクロールしzipからWeb サイトを提供するMPA アーカイバ,サイトジェネレーターとして使用できる #六11


ポタとは何か?mpa_archiveはポタのリポジトリ

pota はリアクティブライブラリに裏打ちされた小さなリアクティブ Web レンダラです。リアクティブライブラリはプラグ可能でした。

レンダラーはコンパイラレスであり、a で使用できます html 機能。また、JSX を変換するためのバベルプリセットが含まれています。

API とコアコンポーネントは Solid から大きなインスピレーションを得ていますが、個人的な好みに応じて多少異なります。

pota は一貫性を優先し、主観的に理解しやすいツールであり、ベンチマークではなく開発者のニーズによって推進されます。


始めるためのテンプレートを参照してくださいhttps://github.com/potahtml/templates


使用方法およびドキュメントは、ウェブサイト上で見つけることができます:https://pota.quack.uy/


https://github.com/potahtml/mpa-archive より




マルチページアプリケーションアーカイブ

マルチページアプリケーションを zip ファイルにクロールします。Zip ファイルからマルチページアプリケーションを実行します。MPA アーカイバ。サイトジェネレーターとして使用できます。

インストール

npm install -g mpa-archive

使い方

Crawling

mpa http://example.net

再帰的に URL をクロールして保存します example.net.zip。Oncedone、レポートが表示され、ZIP からファイルを提供できます。

Crawling

mpa

現在のディレクトリに各 zip ファイルのサーバーを作成します。ホスティス localhost とともに port zip ファイルのパスにシードされています。

  1. 特徴頭のない人形遣いを使います
  2. クロール http://example.net とともに cpu count / 2 糸
  3. 進捗はコンソールに表示されます
  4. フェッチ sitemap.txt 及び sitemap.xml シードポイントとして
  5. 200、304、204、206 とは異なる HTTP ステータスコードを報告します
  6. サイト URL のみのクロールですが、そうなります fetch 外部リソース
  7. サイトリソースをインターセプトして保存することもできます
  8. 生成する mpa/sitemap.txt 及び mpa/sitemap.xml
  9. サイトソースマップを保存
  10. プロセス終了時に再開でき、250 URL ごとにチェックポイントを保存できます

検討
  1. 増分圧縮形式で保存してください。変更時にファイル全体を再圧縮する必要はありません。おそらくすでに完了していますか?
  2. 外部リソースへの URL は、ローカルリソースとして書き換えられません。これが行われると、ルート willbreak からロードされたものが書き換えられます
  3. full タブを開くのではなく、リンクをクリックしてサイトをクロールする必要があります
以下
より
キッド 3 時間前 | 次に [–]

よくやった!
すべてのアセット(db、スクリプト、TLS サポートを含む)とともに単一のマルチプラットフォーム バイナリにパッケージ化できるサーバーである RedBean について義務的に言及します。

https://redbean.dev/

答え

ノックス 101 1 時間前 | 前へ | 次に [–]

私はこれと 。har ファイルに興味があります
Chrome Devtools、ネットワークタブ、皿を指す矢印のように見える最後のアイコン(har ファイルをエクスポート)

私はそれを意図的または意図せずにデータを取得することを困難にするサイトからデータを抽出するために使用しましたが、トンより多くのデータとして 。har ファイルだと思います。たとえば、アパートの管理サイトであるアパートにサインアップすると、pdf。js が使用され、PDF を保存する方法がありませんでした。そこで 。har ファイルを保存し、PDF を抽出しました。

答え

巻 29 3 時間前 | 前へ | 次に [–]

Microsoft Interne Explorer(いいえ、個人的には使用していません)には、HTML ページをインライン画像のように参照されるすべてのファイルと一緒に保存できる *。mht というファイル形式がありました。ただし、1 つの *。mht ファイルに複数のページを保存することはできなかったため、作業は拡張機能と見なすことができます。
UNIX の哲学では、多くの小さなファイルを作成するのは良いことだと主張していますが、混乱を減らし(両方のシナリオで「ツリー」を実行することを想像してください)、一部のファイル システムで inode が不足するのを防ぐことに貢献するというあなたのアイデアが好きです(最近では一般的に問題が少なくなる可能性がありますが、最近何百万もの小さなファイルを生成していないため、わかりません)。

答え

ログログを記録しません 1 時間前 | 親 | 次に [–]

はい!ご存知のとおり、私はこれを前の数日で検討していましたが、すべてのファイルを同時に提供するための `mhtml` ファイルの構築方法について検討していました。このプロジェクトとは関係なく、クライアントがプロジェクトのオフラインバージョンを保持したいユースケースがありました。
> UNIX の哲学では、多くの小さなファイルを作成するのは良いことだと主張していますが、混乱を減らすことに貢献し(両方のシナリオで 'tree' を実行することを想像してください)、一部のファイル システムで inode が不足するのを防ぐというアイデアも気に入っています(最近では一般的に問題が少なくなる可能性がありますが、最近何百万もの小さなファイルを生成していないため、わかりません)。

どの Web サイトでも、ファイルができるだけ少なくなるように最適化されているため、ファイルが多くなることはかなりまれです(ネットワーク要求が少なく、大きなファイルを送信するだけよりも遅くなる可能性があります)。react ドキュメントをテストとしてクロールしましたが、これは 3,803 ファイル(外部リソースを含む)を含む 147mb の zip ファイルです。

https://docs.solidjs.com/ 646 ファイルを含む 12mb(外部リソースを含む)です

答え

ジュドガン 2 時間前 | 親 | 前へ | 次に [–]

。生きてるし元気だよ。これはファイルの MIME ラッパーであり、Chrome、Opera、Edge の保存オプション「Webpage を単一のファイルとして」によって生成され、デフォルトでは 。mhtml の拡張子になります。
私が最後に見たとき Firefox はネイティブにそれをサポートしていませんでしたが、それは要求された機能でした。

答え

rrr_oh_man 1 時間前 | 根 | 親 | 次に [–]

> 最後に見たとき、Firefox はネイティブにサポートしていませんでしたが、要求された機能でした。
残念ながら、それは見覚えのあることです

答え

タミミオ 3 時間前 | 前へ | 次に [–]

HTTrack とはどう違うのですか?そして、メディア拡張機能、サポートされているもの、そしてどれが’t ですか?HTTrack で一部のサイトをダウンロードすると、デフォルトではデフォルトタイプのみを検索し、手動で追加する必要があるため、一部のファイルが無視されることがあります。
答え

ログログを記録しません 2 時間前 | 親 | 次に [–]

HTTrack の大ファン!昔を思い起こさせ、今のウェブの状態を悲しくさせます。
前回使用して以来、HTTrack がリソースの取得から長らく進歩したかどうかはわかりませんが、私のプロジェクトで行っていることは、実際の Web ブラウザをスピンすることです(ヘッドレスモードではクローム、つまり非表示になります)。その Web サイトの JavaScript を実行すると、/が表示されます/派手な HTML を生成して、そのまま index。html に保存できます。それはすべての種類のファイルを保存します、それはファイルの拡張子または MIME タイプを気にしません、それはそれらすべてを保存しようとします。

答え

タミミオ 1 時間前 | 根 | 親 | 次に [–]

> あらゆる種類のファイルを保存し、拡張子や MIME タイプのファイルを気にせず、すべて保存しようとします。
That’s 知っておくべき素晴らしい、私はそれを試してみる。一つのウェブサイト 私はダウンロードしようとし、 。riv の拡張子を持つアニメーションのすべての種類を持っていることを覚えています、そしてそれは HTTrack でうまく動作しませんでした、それを共有してくれてありがとう、すぐにこれを試してみます!

答え

ログログを記録しません 11 時間前 | 前へ | 次に [–]

私は現代の JavaScript フレームワークの大ファンですが、SSR は好きではないので、SSR をしなくてもホストにアップロードするために自分自身をクロールすることを試みてきました。これが結果です
答え

反逆者 0x0 2 時間前 | 前へ | 次に [–]

私の 5 セント:
ステータスコード 200-299 はすべて OK です

ステータスコード 300-399 はリダイレクトであり、最終的には大丈夫です

- 私の経験の中で 403 は、エラーではなく、ユーザーエージェントが大丈夫ではないという提案が非常に頻繁に発生します

robots。txt をスキャンして、リソースが禁止されているかどうか、または速度要件があるかどうかを確認する必要があります。常に素敵な方が良いです。私はそのようなものを追加する予定ですが、私のプロジェクトにも欠けています

アプリからハッシュを生成し、ハッシュが異なる場合にのみ更新するのは興味深いでしょうか?

答え

ログログを記録しません 2 時間前 | 親 | 次に [–]

ステータスコード、私はリストを表示しています。なぜなら、主に JavaScript 駆動のアプリケーションでは、(メディア以外)200 以上のコードは必要ないからです。
私は robots。txt について考えましたが、これはあなたがあなた自身のウェブサイトに対して実行することになっているソフトウェアであるため、私はそれが価値があるとは考えませんでした。速度要件と禁止されているリソースにはポイントがあります(ただし、それらをスキップするとセキュリティが追加されるわけではありません)。

更新のステップにあまり時間/労力をかけていません。現在、チェックポイントでプロセスが終了すると再開されます(URL 250 個ごとに現在の状態が保存され、欠落している場合は続行でき、そうでない場合は完了します)

ありがとうございます あなたのプロジェクトは何ですか!?シェア!

答え

カマドムシクイ 6 時間前 | 前へ | 次に [–]

これは早い時期だと理解していましたが、それをリリースするライセンスを検討していますか?
答え

ヨドン 5 時間前 | 親 | 次に [–]

+1 MIT または BSD、または好みに応じてライセンスファイルを追加できますか?(とてもクールです。私はこのプロジェクトを手伝いたいと思っていますが、他の人もそうするだろうと思います)
答え

ログログを記録しません 5 時間前 | 親 | 前へ | 次に [–]

確かに、私はその詳細について忘れました、あなたはどのライセンスを提案しますか?
答え

ヨドン 5 時間前 | 根 | 親 | 次に [–]

最近では MIT と BSD が最も一般的になっているようです(私は通常、個人的に MIT を行っています)
答え

ログログを記録しません 5 時間前 | 根 | 親 | 次に [–]

付け加え
答え

メイラル 4 時間前 | 根 | 親 | 前へ | 次に [–]

AGPL
答え

ジェイマー 5 時間前 | 前へ | 次に [–]

出力は Web アーカイブ ファイル(warc)に似ていますか?
答え

ログログを記録しません 5 時間前 | 親 | 次に [–]

それは私が探究していないもので、面白そうです。現在、zip ファイルには、ブラウザにロードされたときに Web サイトで見つかったファイルのミラーが含まれています。ファイルシステムにミラーリングすると、ファイル/フォルダ名に関する予測可能な問題が発生するため、幸いなことに zip ファイルで終了しました。
答え

トゥームチトド 1 時間前 | 根 | 親 | 次に [–]

https://news.ycombinator.com/item?id=40628958
https://github.com/internetarchive/warctools

答え

ライアンヴァルドルフ 8 時間前 | 前へ | 次に [–]

このアプローチの利点は何ですか?
答え

ブラジャー 6 時間前 | 親 | 次に [–]

一つ 可能 利点 I web サイトとファイルの間に 1:1 の対応関係を作成することを参照してください。
私が気にしているのは Web サイトです(通常はそうなります)。その場合は、すべての乱雑な詳細を含むおなじみのボックスが 1 つあります。無視したいファイルをすべて見る必要はありません。

それはあなたにとって利益ではないかもしれませんし、それを使用していないかもしれません、それは私にとってありそうもない将来の理論的な利益にすぎません。

しかし、投稿のタイトルから、私はメカニズムの非常に明確なピクチャーを持っていました、そして、なぜ私がしたいのか明らかではありませんでした スタート 異なるメカニズム(オープンソース プロジェクトの通常の問題を除く)を使用して。

しかし、それは私であり、あなたの走行距離は異なる場合があります。

答え

ログログを記録しません 7 時間前 | 親 | 前へ | 次に [–]

ページの HTML は、サーバーでレンダリングすることなく、検索エンジンによってインデックス化できます。Nginx によって提供されるディレクトリへのこのような解凍。また、アーカイブ目的やバックアップのために使用することもできます。
答え

イヴォリンメン 2 時間前 | 前へ | 次に [–]

そのため、最新の chm(Microsoft Compiled HTML ヘルプ ファイル)です
答え

メイラル 2 時間前 | 前へ [–]

Web サイトになりすますための非常に便利なツールのようです。詐欺師に役立ちます。なぜ、自分のサイトをクロールしてしまうのか?
答え

ログログを記録しません 1 時間前 | 親 | 次に [–]

> なぜ誰かが自分の Web サイトをクロールするのですか?
私の主な使用例は、ドキュメントサイトです https://pota.quack.uy/ , Google は適切にインデックスを作成できません。ここで https://www.google.com/search?q=site%3Apota.quack.uy 一部のタイル/説明が、ページの内容と一致しないことがわかります。サイト全体がクライアント側でレンダリングされるため、JavaScript を介して自分自身をクロールして html 出力を実際のファイルに保存することができます。その後、nodejs を介して SSR の高価なことをしなくても、nginx または他の Web サーバーでそのコンテンツを提供できます。言うまでもなく、最新の JavaScript フレームワークで SSR を実行できることは簡単なことではなく、エンジニアリングの時間を必要とします。

答え

ケジ 2 時間前 | 親 | 前へ [–]

詐欺師は既存のウェブサイトをコピーするためにこれを必要としません、そして私はたくさんの正当な用途を見ることができました。たぶん、あなたはウェブサイトをやり直しているが、どこかに以前のサイトを維持したい、またはあなたが将来の参照のためにサイトをアーカイブする簡単な方法が必要です。おそらく、ホストされている CMS の料金を支払うのにうんざりしているかもしれませんが、コンテンツを維持したいと考えています。
答え

メイラル 1 時間前 | 根 | 親 [–]

説明したすべてのシナリオは、ソースコードを所有していると仮定して、ソースコードにアクセスできることで実現できます。
答え

ケジ 1 時間前 | 根 | 親 [–]

誰かがそのシナリオのためのツールを書いたときにまだ簡単なソースコードへのアクセスで多くのことが可能です。
答え

メイラル 1 時間前 | 根 | 親 [–]

すでに持っているビルドをクロールすることは、そのどれでもありません
答え

p4bl0 1 時間前 | 根 | 親 [–]

問題の Web サイトは、動的な Web サイト(WordPress、MediaWiki、またはその他の CMS やカスタム Web アプリなど)である可能性があり、そのスナップショットをバックアップしたいか、ローカルで実行して、静的ファイルのみをサポートする他の場所でホストするために静的コピーを使用したいかのいずれかです。
答え

コメント

このブログの人気の投稿

nitter.netが2021年1月31日から沈黙。代替インスタンスは?

#nitterがtwitterからBANされた?ツイート取得ができない #o7oI

nitterが復旧した?スクレイピング規制終了か?