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