Web Storage APIには乗らないが、ブラウザの変数に入れることはできるかもしれない
ただ、これからも輪郭が増えることを考えると、利用者ブラウザ側での検索は現実的ではなさそうだ
全輪郭の表題推定容量
表題の平均文字数 = 平均10文字適度?
表題の容量 = 10*3byte = 30byte
輪郭数: 2,600,000
全輪郭の表題の容量 = 30*2600000byte = 78000000byte = 74.3865966796875MB
表題の平均文字数 = 平均10文字適度?
表題の容量 = 10*3byte = 30byte
輪郭数: 2,600,000
全輪郭の表題の容量 = 30*2600000byte = 78000000byte = 74.3865966796875MB
=
15.718837606837608[KB]
=
0.015350427350427352[MB]
=
8.98 / 585 [MB]
関連するURLのリストを持つと、やはり容量が大きくなる
数だけ持つべきかもしれない
ページランクを無視するならURLは残さなくてもいい
=
156.6405989165999[TB]
=
168191562393.1624[KB]
=
15.718837606837608 * 10700000000 [KB]
=
ページメタ情報の容量 * クローラで得られるページ数
🟩メタデータを圧縮する
🟩URLを無くす
376ファイルで、10MB程度になった
想定よりも容量が大きい
2,600,000ファイルなら、69148MB=69GB
生のHTMLを保存しているから大きいのだろう
クローラを野に放つなら、生のHTMLではなくインデックスを保存したほうが良さそうだ
ひとまずネットワーク容量と、保存容量の限界まで回してみる
→プロバイダから怒られるかもと思ったが、ゲームのダウンロードに比べれば、かわいい物だな
doc_meta_info:
filename: ページのURLのsha256
dest: ページが持つURLのリスト
src: ページを指し示すURLのリスト
tokens: ページ内の単語
udpate: メタ情報の作成時刻(timestamp[ms])
WSL2を動かしっぱなしにするとメモリーを食いつぶすらしい
クローラーのプログラムは関係なかった
クローラーのメモリー消費を試算したら、高々400MB程度で済む
突然動かなくなる
puppeteerと相性が悪いらしい
Dockerなり、WSL2なりでWindowsと隔離して動かしたほうが良さそうだ
エラーコード:
DESKTOP-A0TO8ET:/mnt/d/google drive/work/Delite-Clowler$ node main.js
(node:14699) UnhandledPromiseRejectionWarning: Error: Failed to launch the browser process! spawn /mnt/d/google drive/work/Delite-Clowler/node_modules/puppeteer/.local-chromium/linux-800071/chrome-linux/chrome ENOENT
TROUBLESHOOTING: https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md
at onClose (/mnt/d/google drive/work/Delite-Clowler/node_modules/puppeteer/lib/cjs/puppeteer/node/BrowserRunner.js:193:20)
at ChildProcess.<anonymous> (/mnt/d/google drive/work/Delite-Clowler/node_modules/puppeteer/lib/cjs/puppeteer/node/BrowserRunner.js:185:85)
at ChildProcess.emit (events.js:223:5)
at Process.ChildProcess._handle.onexit (internal/child_process.js:270:12)
at onErrorNT (internal/child_process.js:456:16)
at processTicksAndRejections (internal/process/task_queues.js:81:21)
(node:14699) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:14699) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
ページ取得に30秒以上かかると止まるらしい
try, exceptで囲うと良さそう
Web Storage APIには乗らないが、ブラウザの変数に入れることはできるかもしれない
ただ、これからも輪郭が増えることを考えると、利用者ブラウザ側での検索は現実的ではなさそうだ