在使用 selenium 模拟抓取网页的时候,速度效率其实是非常慢的,可以稍微优化一下,禁止不必要的图片加载和css加载,示例代码如下:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time
import random
options = Options()
num=str(float(random.randint(500,600)))
options.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/{}"
" (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/{}".format(num,num))
#禁止图片和css加载
prefs = {"profile.managed_default_content_settings.images": 2,'permissions.default.stylesheet':2}
options.add_experimental_option("prefs", prefs)
driver = webdriver.Chrome(executable_path='D:\\chromedriver\\chromedriver.exe',chrome_options=options)
driver.get('https://www.ly.com/')
time.sleep(5)
html=driver.find_element_by_xpath("//body").get_attribute("innerHTML")
print(html)
可以看到,只需要在头部参数加上一个prefs就可以了。未加参数之前的效果如图1所示:
图1
加上之后效果如图2所示:
图2