CentOS6.x搭建:HeadlessChrome+ChromeDriver+Selenium的爬虫环境

Chrome官方网站已经说的很清楚,不再支持6.x的centos,至少7以上 。可是很多时候我们使用的服务器版本并不能随便升级,即便已经很难受了,但是还得继续使用低版本,装起来那是真叫一个费劲,还好就是费劲一些,最终还是可以装成功的 。
什么是 Headless ChromeHeadless Chrome 是 Chrome 浏览器的无界面形态,可以在不打开浏览器的前提下,使用所有 Chrome 支持的特性运行你的程序 。相比于现代浏览器,Headless Chrome 更加方便测试 web 应用,获得网站的截图,做爬虫抓取信息等 。相比于出道较早的 PhantomJS,SlimerJS 等,Headless Chrome 则更加贴近浏览器环境 。
CentOS版本lsb_release -a

CentOS6.x搭建:HeadlessChrome+ChromeDriver+Selenium的爬虫环境

文章插图
 
最新版本google-Chrome安装CentOS/RedHat 7以上安装google-chrome可以完全参考https://intoli.com/blog/installing-google-chrome-on-centos/ (6及以下版本不适用) 。
指定yum源服务器应该指定合适yum源,避免找不到某些依赖的尴尬 。修改 /etc/yum.repos.d/CentOS-Base.repo,可以使用阿里的yum repo:
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repoyum clean all安装google-chrome根据https://intoli.com/blog/installing-google-chrome-on-centos/ ,执行命令:
curl https://intoli.com/install-google-chrome.sh | bash脚本会自动检测当前版本安装chrome所缺失的依赖包并下载 。
CentOS6.x搭建:HeadlessChrome+ChromeDriver+Selenium的爬虫环境

文章插图
 
检查是否还缺乏依赖:
ldd /opt/google/chrome/chrome | grep "not found"返回为空,说明CentOS下chrome依赖问题基本解决 。
运行chrome执行
google-chrome-stable --no-sandbox --headless --disable-gpu --screenshot https://www.suning.com/ 。访问成功,在当前目录会生成截图screenshot.png,如果报错
[0100/000000.311368:ERROR:broker_posix.cc(43)] Invalid node channel message则需要安装依赖包:
yum installipa-gothic-fontsxorg-x11-fonts-100dpixorg-x11-fonts-75dpixorg-x11-utilsxorg-x11-fonts-cyrillicxorg-x11-fonts-Type1xorg-x11-fonts-misc -y 最新版本Chromedriver安装当前的chrome版本是 google-chrome-stable-72.0.3626.109-1.x86


    推荐阅读