当前位置:   article > 正文

【Python爬虫】Message: timeout: timed out receiving message from renderer: xxx(Session info: chrome=xxx)

timed out receiving message from renderer

这个问题属于超时(TimeOut)的问题,无法重新连接到网站继续爬取。

【办法1】我的解决方案是(因为我爬取的网页所含图片挺多的)——添加不加载图片的设置,这样可以有效地提高爬取网页的速度。

【步骤3】添加启动参数:

chrome_options.add_argument('blink-settings=imagesEnabled=false')

chrome_options是配置(使用当前)浏览器启动时一些项的参数,我们这里采用的都是:

  • 添加启动参数 (add_argument)

它的作用之一就是我所需的:

  • 禁止图片和视频的加载:提升网页加载速度

【步骤1】使用前要先导入chrome options的Options模块:

from selenium.webdriver.chrome.options import Options

【步骤2】然后新建一个启动参数对象:

chrome_options = Options()

【步骤4】在初始化Webdriver对象时将参数对象传入Chrome(实现以特定参数启动),则启动了一个设置了窗口大小的Chrome:

driver = webdriver.Chrome(chrome_options=chrome_options)

【办法2】还看到一种是临时解决的,“将该浏览器不提供可视化页面的设置去掉”,也可以参考,如下:

chrome_options.add_argument('--headless') 

【注】chrome_options.add_argument的其他用法:

  1. #修改User-Agent
  2. chrome_options.add_argument('user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.193 Safari/537.36')
  1. # 设置默认编码为 utf-8
  2. chrome_options.add_argument('lang=zh_CN.UTF-8')
  1. # 代理ip设置
  2. chrome_options.add_argument(代理ip)

为了反正多次爬取同一网站被封ip,准备一个ip池是必要的。

从该方法名称上看来,单数已经表示一次性只能添加一个参数。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/177996
推荐阅读
相关标签
  

闽ICP备14008679号