前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux以及云服务器详解高版本Chromium和Chromedriver的安装,为Selenium铺路

Linux以及云服务器详解高版本Chromium和Chromedriver的安装,为Selenium铺路

原创
作者头像
Mintimate
发布2022-01-09 09:42:19
6.9K2
发布2022-01-09 09:42:19
举报
文章被收录于专栏:Mintimate's BlogMintimate's Blog

作者:Mintimate

博客:https://www.mintimate.cn Mintimate’s Blog,只为与你分享

嘿嘿,封面不能少(*^o^*)
嘿嘿,封面不能少(*^o^*)

大家用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进行二次开发。

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自带的软件包管理器,默认安装的版本有点低:

apt安装chromium
apt安装chromium
版本不高
版本不高

网上很多教程会让你使用snap进行Chromium的安装,而且安装步骤很简单:

# 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上的包管理器)安装,主要原因:

  • 方便管理(安装、卸载和更新都很方便)

下载安装包

首先是下载安装包,我们可以去官方下载:

或者直接去老牌的pkgs.org:适用于Debian/Ubuntu/CentOS

CentOS

比如CentOS,我们就以pkgs为例,我们进入网站,搜索:chromium

安装包
安装包

这次,我使用腾讯的CentOS8系统,所以选择:

选择
选择

进去后,发现需要这些依赖:

依赖
依赖

这些依赖我们先不处理,先直接下载chromium

下载
下载

我们复制下载地址后,到Terminal内使用wget下载:

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,并下载

ChromeDriver下载完成
ChromeDriver下载完成

Debian

pkgs上收录的Chromium版本也挺低的,是89版本:

版本低了点……
版本低了点……

所以,我们去https://packages.ubuntu.com/内下载:

搜索🔍
搜索🔍
搜索到
搜索到

虽然我是Debian10,但是用Ubuntu18(Debian9)也是可以的

另外,还需要下载:chromium-codecs-ffmpeg-extra

chromium-codecs-ffmpeg-extra
chromium-codecs-ffmpeg-extra

这个是安装Chromium的前置依赖。

Chromedriver也是一样的下载方法,但是记得都要下载同一个大版本下的,最后结果:

下载的内容
下载的内容

安装Chromium

之后,我们使用命令安装Chromium。其实方法都一样,但是我们还是分一下,以下分别演示Debian和CentOS。

现在CentOS8都停止支持了,其实我个人建议用Debian……

CentOS

如果你是CentOS,下载的Chromium文件为:chromium-96.0.4664.110-2.el8.x86_64.rpm,那么安装命令:

rpm -ivh chromium-96.0.4664.110-2.el8.x86_64.rpm

一般会失败:

安装失败
安装失败

这个是因为缺少依赖,我们按照上面的提示,先安装依赖,比如,这里提示我要安装:

  • libFLAC.so.8
  • libcanberra-gtk3
  • libminizip.so.1
  • nss-mdns

你可以使用yum去安装依赖(如果版本符合);也可以使用rpm,只需要再去搜索下载即可:

搜索依赖
搜索依赖
安装依赖
安装依赖

依赖都安装完成,我们再安装Chromium就可以正常安装了:

Chromium安装完成
Chromium安装完成

Debian

如果你使用Debian,下载的文件是这些:

下载的文件
下载的文件

我们先安装chromium-codecs-ffmpeg-extra,之后安装chromium-browser

安装完成
安装完成

这样就安装完成了,可以重启Terminal验证一下:

验证成功
验证成功

安装Chromedriver

安装Chromedriver其实就和Chromium一样了。

CentOS

刚刚我们已经下载了安装包:chromedriver-96.0.4664.110-2.el8.x86_64.rpm

使用rpm安装
使用rpm安装

这样就安装完成了:

安装完成
安装完成

Debian

Debian也一样很简单:

使用dpkg安装
使用dpkg安装

这样就安装完成了哦,同样重启终端看看效果:

测试成功
测试成功

测试效果

最后,我们使用Python的Selenium去跑一下爬虫看看:

导入模块
导入模块
就可以跑脚本了
就可以跑脚本了

END

最后,科普一下dpkgrpm命令吧:

dpkg

简单的dpkg命令:

# 安装软件
dpkg -i <package_file_path>
# 列出已经安装的软件
dpkg -l
# 卸载软件
dpkg -r <package_name>
# 查看软件包(已安装)的详细信息
dpkg -s <package>

rpm命令

rmp命令也很简单,但是一般组合使用:

rpm <组合的命令> <包>

组合的命令:

-ivh:安装并显示安装进度--install--verbose--hash
-Uvh:升级软件包--Update;
-qpl:列出RPM软件包内的文件信息[Query Package list];
-qpi:列出RPM软件包的描述信息[Query Package install package(s)];
-qf:查找指定文件属于哪个RPM软件包[Query File];
-Va:校验所有的RPM软件包,查找丢失的文件[View Lost];
-e:删除包

以上,就是本文全部内容了嗷~~

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是Chromium
    • Chromium
      • Chromedriver
        • Selenium
        • 安装思路
          • 本文方法
          • 下载安装包
            • CentOS
              • Debian
              • 安装Chromium
                • CentOS
                  • Debian
                  • 安装Chromedriver
                    • CentOS
                      • Debian
                      • 测试效果
                      • END
                        • dpkg
                          • rpm命令
                          相关产品与服务
                          轻量应用服务器
                          轻量应用服务器(TencentCloud Lighthouse)是新一代开箱即用、面向轻量应用场景的云服务器产品,助力中小企业和开发者便捷高效的在云端构建网站、Web应用、小程序/小游戏、游戏服、电商应用、云盘/图床和开发测试环境,相比普通云服务器更加简单易用且更贴近应用,以套餐形式整体售卖云资源并提供高带宽流量包,将热门开源软件打包实现一键构建应用,提供极简上云体验。
                          领券
                          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档