使用selenium和chromedriver组合爬虫时,如果爬取的页面数量巨多,会出现占用内存逐渐增大知道程序崩溃的情况。
解决方案:关闭当前的窗口(注意,phantomjs中的窗口其实就是chrome里的标签页,phantomjs是无界面浏览器,不需要像chrome那样可以把几个标签页放在不同的“窗口”显示),打开一个新的窗口请求页面
代码如下
from bs4 import BeautifulSoup
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument('--headless') #关闭图形界面,提高效率
#打开一个浏览器
browser = webdriver.Chrome(executable_path=r'C:\ProgramData\Anaconda3\chromedriver.exe',chrome_options=chrome_options)
for i in range(1000): #为了查看内存而设