zoukankan      html  css  js  c++  java
  • 记录一次爬虫报错:Message: Failed to decode response from marionette

    由于标题中的错误引发:

    Message: Tried to run command without establishing a connection

    解释:

    先说一下我的爬虫架构,用的是firefox+selenium,上面的那个错误是因为浏览器退出之后,爬虫还要浏览器去执行一些命令,所以才报上面的错误,那第二个问题来了:

    浏览器为什么会自动crash(崩溃)呢,一般来说都是因为资源不够用了,什么资源呢?内存资源,浏览器是很占用的内存,而且有的爬虫为了加快爬虫速度会让浏览器做缓存,

    这样导致浏览器占用的内存更多

    解决办法:

    1.根据爬虫占用的资源情况,合适的增加内存

    2.降低爬虫的速度,让浏览器有点空闲,特别是在启动多个浏览器的爬虫中

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

    上面的说法并没有错,但是还是有些情况没有考虑进去,其实浏览器会崩溃的主要原因是因为浏览器内存泄露,也就是说,由于浏览器默认是开启缓存功能的,

    这样随着爬虫的运行,浏览器的缓存就会越来越大,最终一定会导致浏览器内存泄露(前提是浏览器不重启的爬虫,如果浏览器隔一段时间就重启,不会有这个问题),

    至于说怎么在爬虫中禁用浏览器缓存,这个在我另一篇博客中有提到,就不说了

  • 相关阅读:
    mac 个人账户环境变量位置
    版本控制工具Git
    xmind导图用例转换为表格用例
    Mysql清空表(truncate)与删除表中数据(delete)的区别
    log4j日志级别及使用规范
    洛谷 P3807 【模板】卢卡斯定理
    jmeter环境配置与java环境配置
    NOI2020乱搞记
    Re:ゼロから始める文化課生活
    阅读书单
  • 原文地址:https://www.cnblogs.com/gunduzi/p/10600152.html
Copyright © 2011-2022 走看看