この質問にはすでに答えがあります:
私は長い間この問題を解決しようとしてきましたが、複数の可能性があります。これは複雑になります...
基本的に、自動化したいアクティビティは、すべてのページでブラウザがアクセスすることです-「右クリック、名前を付けて保存、xxx.html」アクションですので、閲覧履歴の記録が完全に保存されます。
- FirefoxのShelveアドオンはこれをバックグラウンドで正確に自動的に実行し、非常にうまく機能します(実際にはMAFFアーカイブhtml-as-a-a-single-fileを使用できますが、この形式はすべてを遅くするので、 HTMLに使用します)。
問題:他の5つのブラウザーを使用しているため、完全なレコードを作成するには不十分です。
- Cyotek WebCopyとWinHTTrackを調べました。どちらも本質的にはWebクローラーであり、URLを入力し、それをHTMLにストリップ/保存し始めます。WinHTTTrackは実際には問題なく動作しますが、長い時間がかかります(ブラウザでxxx.htmlを右クリックするだけで保存するよりもはるかに長くなります)。最悪の場合は自動化されません。
理論上、私がしなければならないことは、すべてのブラウザから閲覧履歴を取得し、アドオン付きのtxtファイルとしてエクスポートし(ブラウザの履歴は通常.sqliteファイルであるため)、それを受け入れるtxtファイルとしてプログラムにフィードすることです、そのURLのリストをクロールして、レベル0または1、または何でも(その特定のプログラムでクロールの深さを指定できます)。
これは、プロセスを実際に自動化できないことを意味するため、非常に面倒です。プログラムにURLを手動でフィードする必要があります。
これの補遺として、訪問したすべてのページのブラウザーに依存しないURLリストを生成できるように、ルーターレベルでのURLロギング/ Webプロキシの設定を調査しました。理論的には、それをクローラーに供給し、おそらく自動化できますか?ただし、このURLログを生成する方法はまだわかりません。有望なプログラムがいくつかあります。Charles(ロギングを使用するWebプロキシ)、Fiddler(Webデバッグ/ロギングツール)などがあります。
Proxy-offline-browserと呼ばれるプログラムは、Webプロキシを使用してすべてのURLを取得し、URLを自動的に保存することで正確に必要な処理を実行するため、有望に見えましたが、明らかにバグが多く、古く、ブラウザの速度が大幅に低下しました。開発者に連絡して、誤って使用していないかどうかを確認します。
また、一度に1つのブラウザでのみ実行されるようです。
私が望んでいることはそれほど難しいとは思わない。
私が望むのは、抽象的に完璧なものです:
ブラウザーがWebサイトにアクセスするたびに、URLがログに記録されます(Webの履歴で十分だと思いますが、Webの履歴がすべてのURLをキャプチャするとは限りません)。すべてのブラウザーからのログは、URLの巨大なリストに結合されます。
次に、すべてのURLがブラウザーによって自動的にアクセスされ、HTML(またはより適切な形式)として保存されます。そして、私はそれを1時間ごとに、またはコンピューターがアイドル状態になったときなどに、ある間隔で実行するようにします。
あるいは、マクロを調べました。理論的には、訪問したすべてのページで右クリックして保存しただけで、必要なものを正確に再現できるからです。ただし、ブラウザ用のマクロは、実際には手動でマクロを実行する必要があるため、機能しないようです。
誰も私がこれを行う方法を知っていますか?!