赞
踩
这个问题属于超时(TimeOut)的问题,无法重新连接到网站继续爬取。
【办法1】我的解决方案是(因为我爬取的网页所含图片挺多的)——添加不加载图片的设置,这样可以有效地提高爬取网页的速度。
【步骤3】添加启动参数:
chrome_options.add_argument('blink-settings=imagesEnabled=false')
chrome_options是配置(使用当前)浏览器启动时一些项的参数,我们这里采用的都是:
它的作用之一就是我所需的:
【步骤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的其他用法:
- #修改User-Agent
- 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')
- # 设置默认编码为 utf-8
- chrome_options.add_argument('lang=zh_CN.UTF-8')
- # 代理ip设置
- chrome_options.add_argument(代理ip)
为了反正多次爬取同一网站被封ip,准备一个ip池是必要的。
从该方法名称上看来,单数已经表示一次性只能添加一个参数。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。