[問題] 記憶體不足

看板 python
作者 cathy0610
時間 2020年10月29日
留言 22則留言,5人參與討論
推噓 4  ( 4推 0噓 18→ )

請問執行會對網頁重覆執行爬蟲的腳本 它在執行一段時間後 chrome瀏覽器就會顯示out of memory 程式就停止了 (電腦記憶體32g) 請問這個問題有辦法解決嗎? (除了重啟瀏覽器,還有其他方法嗎?) 謝謝 --
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.36.95.138 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1603920107.A.036.html
1FHsins: 你的問題敘述沒頭沒尾的。純粹執行 Python 腳本通常是直接 10/29 06:18
2FHsins: 丟請求取東西回來,要嘛就是取頁面原始碼再透過 selector 10/29 06:18
3FHsins: 或 xpath 定位,又或是直接字串透過正則表達式做 parsing, 10/29 06:18
4FHsins: 這時的記憶體不足會是腳本可能有 memory leak 或者是讀入過 10/29 06:18
5FHsins: 量的資料。如果還需要開瀏覽器,通常是有需要加載 js 才會 10/29 06:18
6FHsins: 渲染頁面,要嘛 headless 要嘛 seleium,至少要交代一下吧 10/29 06:18
7FHsins: ?瀏覽器跳記憶體不足的原因有很多啊,你腳本是不是會一直 10/29 06:18
8FHsins: 開新分頁?又或者是要一直下拉載入新內容?還是其他? 10/29 06:18
9FHsins: 如果是開太多分頁或記憶體沒清,就去找文件看看那個方法可 10/29 06:22
10FHsins: 以調用去關分頁或者是清理瀏覽器的記憶體,然後在腳本裡呼 10/29 06:22
11FHsins: 叫。如果清了記憶體就不能爬了,那就找其他的爬法… 10/29 06:22
12FHsins: 搞不好是對方網站載入的 js 有沒寫好的東西一直堆上去… 10/29 06:24
13FHsins: 如果你需要爬的東西,是重啟瀏覽器之後直接運行腳本繼續爬 10/29 06:32
14FHsins: 也沒差,容錯率比較高的話。寫個腳本定期去殺掉進程,然後 10/29 06:32
15FHsins: 重啟會比較快速無腦 10/29 06:32
抱歉 是用seleium 不需要開新分頁 只是會定時重新整理 謝謝您的意見分享>< 請問您說的有沒有哪裡可以查詢相關資訊 我再試看看 謝謝 ※ 編輯: cathy0610 (114.36.95.138 臺灣), 10/29/2020 08:24:03
16Fkobe8112: 有辦法解決,辦法就是把腳本內錯誤的程式碼修正 10/29 09:10
17Fstillcolor: 一樓回答完了...下次發問記得多提供點資訊 10/29 10:11
18Fstillcolor: selenium沒開新分頁,應該就先往程式碼找看看 10/29 10:12
19Faidansky0989: 用Selenium爬,那可能會是有點消耗資源,因為開太多 10/29 10:43
20Faidansky0989: 頁面 10/29 10:43
21Fstillcolor: 之前碰到過開太多分頁,導致chrome記憶體爆炸,供參考 10/29 11:19
22Fjasonfghx: se拼錯? 11/01 19:29