了解更多關(guān)注微信公眾號“木下學(xué)Python”吧~
原文:https://blog.csdn.net/zjkpy_5/article/details/83303391
1.加快Selenium爬取速度
控制css加載---
抓取過程僅僅抓取頁面內(nèi)容署隘,CSS樣式文件是用來控制頁面外觀和元素房子位置的,對內(nèi)容并沒有影響亚隙,可以限制
網(wǎng)頁加載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運行诊霹,如需要內(nèi)容不是通過JavaScript動態(tài)加載得到的,可禁止加載從而提高效率代碼如下:
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})