为什么要清除缓存?例如开发爬虫程序时,常常需要设置用户目录,避免频繁的登录操作。有时候缓存会影响我们抓取到正确的数据,此时就很需要手动清除缓存来解决问题。
图形界面下,我们很容易通过 Chrome/Firefox 的设置菜单找到隐私设置,清除 cookies 和其他缓存信息。但在文本模式下,我们只能通过命令来执行这些操作。
刚才说到,浏览器有它自己的用户目录,所以我们可以清除用户目录里面的文件来达到清空缓存的效果。
清除 Chrome 缓存
首先,备份一份副本,以便出现问题时恢复:
mkdir -p ~/.google/chrome/backup
mv ~/.config/google-chrome/Default/ ~/.google/chrome/backup
mv ~/.cache/google-chrome ~/.google/chrome/backup
运行第三行命令可能会显示目录不存在,那是因为还没有产生静态文件缓存,忽略提示即可。
接着删除目录:
rm ~/.config/google-chrome/Default/
rm ~/.cache/google-chrome
如果提示目录不存在,依旧忽略就行。
清除 Firefox 缓存
和 Chrome 的操作一样,先创建备份以防万一:
mkdir -p ~/.mozilla/firefox/backup ~/.cache/mozilla/firefox/backup
mv ~/.mozilla/firefox/*.default/*.sqlite ~/.mozilla/firefox/backup
mv ~/.mozilla/firefox/*.default/sessionstore.js ~/.mozilla/firefox/backup
mv ~/.cache/mozilla/firefox/*.default/* ~/.cache/mozilla/firefox/backup
如有目录不存在的提示,忽略。
接着删除目录:
rm ~/.mozilla/firefox/*.default*/*.sqlite ~/.mozilla/firefox/*default*/sessionstore.js
rm -r ~/.cache/mozilla/firefox/*.default*/*
通过以上方法,我们顺利清除了 Chrome/Firefox 的浏览器缓存。如果遇到缓存导致的问题,按照此方法操作即可。
参考资料:如何从命令行删除浏览器缓存