※ 本文轉寄自 ptt.cc, 文章原始頁面
看板Python
標題

[問題] 記憶體不足

時間
最新2020-11-01 19:29:00
留言22則留言,5人參與討論
推噓4 ( 4018 )
請問執行會對網頁重覆執行爬蟲的腳本 它在執行一段時間後 chrome瀏覽器就會顯示out of memory 程式就停止了 (電腦記憶體32g) 請問這個問題有辦法解決嗎? (除了重啟瀏覽器,還有其他方法嗎?) 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.36.95.138 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1603920107.A.036.html

22 則留言

Hsins, 1F
你的問題敘述沒頭沒尾的。純粹執行 Python 腳本通常是直接

Hsins, 2F
丟請求取東西回來,要嘛就是取頁面原始碼再透過 selector

Hsins, 3F
或 xpath 定位,又或是直接字串透過正則表達式做 parsing,

Hsins, 4F
這時的記憶體不足會是腳本可能有 memory leak 或者是讀入過

Hsins, 5F
量的資料。如果還需要開瀏覽器,通常是有需要加載 js 才會

Hsins, 6F
渲染頁面,要嘛 headless 要嘛 seleium,至少要交代一下吧

Hsins, 7F
?瀏覽器跳記憶體不足的原因有很多啊,你腳本是不是會一直

Hsins, 8F
開新分頁?又或者是要一直下拉載入新內容?還是其他?

Hsins, 9F
如果是開太多分頁或記憶體沒清,就去找文件看看那個方法可

Hsins, 10F
以調用去關分頁或者是清理瀏覽器的記憶體,然後在腳本裡呼

Hsins, 11F
叫。如果清了記憶體就不能爬了,那就找其他的爬法…

Hsins, 12F
搞不好是對方網站載入的 js 有沒寫好的東西一直堆上去…

Hsins, 13F
如果你需要爬的東西,是重啟瀏覽器之後直接運行腳本繼續爬

Hsins, 14F
也沒差,容錯率比較高的話。寫個腳本定期去殺掉進程,然後

Hsins, 15F
重啟會比較快速無腦
抱歉 是用seleium 不需要開新分頁 只是會定時重新整理 謝謝您的意見分享>< 請問您說的有沒有哪裡可以查詢相關資訊 我再試看看 謝謝
※ 編輯: cathy0610 (114.36.95.138 臺灣), 10/29/2020 08:24:03

kobe8112, 16F
有辦法解決,辦法就是把腳本內錯誤的程式碼修正

stillcolor, 17F
一樓回答完了...下次發問記得多提供點資訊

stillcolor, 18F
selenium沒開新分頁,應該就先往程式碼找看看

aidansky0989, 19F
用Selenium爬,那可能會是有點消耗資源,因為開太多

aidansky0989, 20F
頁面

stillcolor, 21F
之前碰到過開太多分頁,導致chrome記憶體爆炸,供參考

jasonfghx, 22F
se拼錯?