記錄一次爬蟲報錯:Message: Failed to decode response from marionette


由於標題中的錯誤引發:

Message: Tried to run command without establishing a connection

解釋:

先說一下我的爬蟲架構,用的是firefox+selenium,上面的那個錯誤是因為瀏覽器退出之后,爬蟲還要瀏覽器去執行一些命令,所以才報上面的錯誤,那第二個問題來了:

瀏覽器為什么會自動crash(崩潰)呢,一般來說都是因為資源不夠用了,什么資源呢?內存資源,瀏覽器是很占用的內存,而且有的爬蟲為了加快爬蟲速度會讓瀏覽器做緩存,

這樣導致瀏覽器占用的內存更多

解決辦法:

1.根據爬蟲占用的資源情況,合適的增加內存

2.降低爬蟲的速度,讓瀏覽器有點空閑,特別是在啟動多個瀏覽器的爬蟲中

 

---------------------------------2019-04-24更新--------------------------------

上面的說法並沒有錯,但是還是有些情況沒有考慮進去,其實瀏覽器會崩潰的主要原因是因為瀏覽器內存泄露,也就是說,由於瀏覽器默認是開啟緩存功能的,

這樣隨着爬蟲的運行,瀏覽器的緩存就會越來越大,最終一定會導致瀏覽器內存泄露(前提是瀏覽器不重啟的爬蟲,如果瀏覽器隔一段時間就重啟,不會有這個問題),

至於說怎么在爬蟲中禁用瀏覽器緩存,這個在我另一篇博客中有提到,就不說了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM