前言
应该是所有使用过selenium的人,在经历过爬取到内容的“卧槽,真牛逼”之后,都会想到的问题,能不能让他不调起浏览器,在后台自己默默的爬取,不影响电脑使用,还能加快速度。
那么从两个步骤介绍
1.调取浏览器时不加载图片,js,css等资源
2.不加载资源的基础上,采用 headless模式运行,linux的虚拟屏幕一个效果
第一步
只需ChromeOptions配置即可
chrome_options = webdriver.ChromeOptions()
prefs = {
'profile.default_content_setting_values': {
'images': 2, # 禁用图片的加载
'css': 2, # 禁用图片的加载
'javascript': 2 # 禁用js,可能会导致通过js加载的互动数抓取失效
}
}
chrome_options.add_experimental_option("prefs", prefs)
chrome_options.add_argument('blink-settings=imagesEnabled=false')
self.browser = webdriver.Chrome(
executable_path=web_driver_path, chrome_options=chrome_options
)
以百度首页为例如下效果
第二部
在使用
chrome_options.add_argument("window-size=1024,768")
chrome_options.add_argument('--headless')
这个就不上效果图了,就是不调用浏览器,内容一样获取到。