python + selenium + chrome 如何清理瀏覽器緩存
1. 背景
- 在使用selenium + chrome瀏覽器渲染模式爬取數據時,如果併發任務過多,或者爬蟲的運行時間很長,那麼很容易出現瀏覽器崩潰的現象,如下:
- 這一般是資源消耗過大造成的(據說chrome瀏覽器有內存泄漏的情況。或者是瀏覽器緩存過大,越堆越多)。selenium模擬瀏覽器會產生大量的臨時文件,那如何解決這個問題呢?
- 之前提出一個解決方法,就是使用headless模式,減少渲染文件的產生,文章可以參考:http://blog.csdn.net/zwq912318834/article/details/79000040
- 今天要提出另一種思路:那就是直接清除瀏覽器緩存。
2. 環境
- python 3.6.1
- 系統:win7
- IDE:pycharm
- 安裝過chrome瀏覽器
- 配置好chromedriver
- selenium 3.7.0
3. 清除瀏覽器緩存
3.1. 只清cookie
# 清除瀏覽器cookies
cookies = browser.get_cookies()
print(f"main: cookies = {cookies}")
browser.delete_all_cookies()
3.2. 清除瀏覽器所有緩存垃圾
- 在selenium爬蟲啓動時,定時開一個窗口,在地址欄鍵入:chrome://settings/content 或 chrome://settings/privacy,然後由程序,像操作普通網頁一樣,對瀏覽器進行設置,“ 清除數據 ”,然後進行保存。如下所示:
- 關於selenium窗口切換可以參考這篇文章:http://blog.csdn.net/zwq912318834/article/details/79206953