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