了解更多关注微信公众号“木下学Python”吧~
原文:https://blog.csdn.net/zjkpy_5/article/details/83303391
1.加快Selenium爬取速度
控制css加载---
抓取过程仅仅抓取页面内容,CSS样式文件是用来控制页面外观和元素房子位置的,对内容并没有影响,可以限制
网页加载CSS,从而减少抓取时间,代码如下:
from selenium import webdriver
f = webdriver.FirefoxProfile()
f.set_preference("permissions.default.stylesheet",2)
driver = webdriver.Firefox(firefox_profile = f)
driver.get('https://www.douban.com/')
控制图片加载---
1)Firefox 如果不需要抓取图片可以禁止图片加载从而提高效率,代码如下:
from selenium import webdriver
f = webdriver.FirefoxProfile()
f.set_preference("permissions.default.image",2)
driver = webdriver.Firefox(firefox_profile = f)
driver.get('https://www.douban.com/')
2)Chrome 的限制图片和JAVAscript
import requests
from selenium import webdriver
options = webdriver.ChromeOptions()
prefs = {
'profile.default_content_setting_values': {
'images': 2,
'javascript': 2
}
}
options.add_experimental_option('prefs', prefs)
driver = webdriver.Chrome(chrome_options=options)
driver.get('http://www.dianping.com/search/category/7/10/p1')
driver.implicitly_wait(20)
控制JavaScript运行,如需要内容不是通过JavaScript动态加载得到的,可禁止加载从而提高效率代码如下:
from selenium import webdriver
f = webdriver.FirefoxProfile()
f.set_preference("javascript.enabled",False)
driver = webdriver.Firefox(firefox_profile = f)
driver.get('https://www.douban.com/')
不加载图片,加快访问速度
options.add_experimental_option("prefs", {"profile.managed_default_content_settings.images": 2})