作者:Mintimate
博客:https://www.mintimate.cn Mintimate’s Blog,只为与你分享
大家用Python等软件写爬虫,是直接模拟HTTP请求,用诸如Python Request库取发送并解析Respond呢?还是使用Selenium去模拟用户登录,对Respond进行解析呢?
如果使用Selenium,那么Chromedriver(Chromium-chromedriver)很关键;使用Chromedriver去调用我们的浏览器。进而完成爬虫任务。本次教程,就教大家如何在Linux服务器上,安装和配置高版本的Chromium和Chromedriver,助力大家开发。
本次的演示设备:
- 腾讯云轻量应用服务器:amd64设备(即:x86架构设备)
如果你需要购买腾讯云轻量应用服务器,推荐在我们的专享优惠地址内购买嗷:https://curl.mintimate.cn/1HNliDcIwNz;如果你是arm设备,如:树莓派;记得在下文选择arm架构版本
什么是Chromium
考虑到有些小伙伴并不知道三者关系,趁着这次介绍Chromium,来简单介绍一下三者关系。
Chromium
Chromium是Google为发展浏览器Google Chrome而发布的免费开源软件项目,以BSD许可协议等数种许可发行并开放源代码。Chromium与Google Chrome共享大部分代码和功能,但功能和商标之间有一些细微差别。
可以简单的理解Chromium为开源版本的Chrome,功能基本一致。事实上,国内很多浏览器内核,都是基于Chromium进行二次开发。
Chromedriver
Chromedriver其实是有项目官网的:https://chromedriver.chromium.org/
是用于Web项目自动化测试的一个程序,相当于一个驱动吧;用于提供接口,让其他程序通过它调用Chromium浏览器,进而进行Debug等操作。
一般Chromedriver虽然以Chrome开头,但是实际上是适用于Chromium内核的浏览器,也正因如此,软件源里一般叫:
chromium-chromedriver
.
Selenium
Selenium 是一个综合性的项目,为web浏览器的自动化提供了各种工具和依赖包。在Python里,安装Selenium包后,即可使用Selenium包方法调用Chromedriver
,进而调用浏览器。
安装思路
看我教程多的小伙伴,是不是觉得我这次肯定是介绍编译安装?本来想教大家编译玩玩的,但是Chromium的编译设备门槛有点高,意义不大,这次就不演示编译安装了……
至于apt
或者yum
这样的Linux自带的软件包管理器,默认安装的版本有点低:
网上很多教程会让你使用snap进行Chromium的安装,而且安装步骤很简单:
代码语言:shell复制# Debian/Ubuntu安装snap
sudo apt install snapd -y
# CentOS安装snap
sudo yum install epel-release -y
sudo yum install snapd -y
systemctl enable --now snapd.socket
# snap安装Chromium
sudo snap install chromium
但是,这样有些缺点:
- 需要手动配置Chromedriver
腾讯云这样的x86 Linux设备Chromedriver还算好找,只需要去Chromedriver官网下载后,配置到环境变量即可;但是树莓派这样的arm Linux设备,Chromedriver官网没有,自己再编译安装……就很麻烦。
本文方法
我个人还是推荐使用dpkg
(Debian/Ubuntu上的包管理器)或者rpm
(CentOS上的包管理器)安装,主要原因:
- 方便管理(安装、卸载和更新都很方便)
下载安装包
首先是下载安装包,我们可以去官方下载:
- ubuntu源下载:适用于Debian/Ubuntu(推荐amd架构设备)
- ubuntu port源下载:适用于Debian/Ubuntu的arm架构设备
- RPM包下载:适用于CentOS
或者直接去老牌的pkgs.org:适用于Debian/Ubuntu/CentOS
CentOS
比如CentOS,我们就以pkgs
为例,我们进入网站,搜索:chromium
:
这次,我使用腾讯的CentOS8系统,所以选择:
进去后,发现需要这些依赖:
这些依赖我们先不处理,先直接下载chromium
:
我们复制下载地址后,到Terminal内使用wget下载:
代码语言:txt复制wget `https://download-ib01.fedoraproject.org/pub/epel/8/Everything/x86_64/Packages/c/chromium-96.0.4664.110-2.el8.x86_64.rpm`
同样的方法,查找Chromedriver
,并下载
Debian
pkgs
上收录的Chromium版本也挺低的,是89版本:
所以,我们去https://packages.ubuntu.com/内下载: