很久之前写了一个监测商品价格变化的机器人,可以监视一个二手交易平台发布的新商品,有人发布我想要的新东西就会给我手机提醒,之前一直在笔电上跑(笔电一直开着),最近可能要离开学校一段时间,想着把它给部署到Linux上面,这样也更省电。
但这个机器人用到了 selenium 这个库,所以除了需要用传统的 pip3 install selenium 安装库之外,还需要在 Linux 上安装 Chrome 和 Chromedriver。
参考着健康系统自动上报,最后折腾成功了。
万里长征第一步,先装Python 3
我的服务器是Centos7系统,默认带一个Python 2,先安装上Python 3,一路很顺利,除了验证Python 3那里要注意一下。
连上服务器,安装Python依赖。
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel
下载Python 3.6。
wget <https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz>
下载完解压。
tar -zxvf Python-3.6.5.tgz
进入目录
cd Python-3.6.5
创建安装目录
mkdir /usr/local/python3
这里因为我第一次试的时候已经创建过了,提示已经存在。
指示安装路径。
./configure -prefix=/usr/local/python3
下达安装命令
sudo make && make install
安装成功,创建软连接。
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
输入命令验证Python 3。
python3
注意输入完之后会进入Python的命令行模式,这时候输入exit()回车,可以退出Python。
输入命令验证pip 3。
pip3 -V #V大写
安装selenium和Chrome
安装selenium
pip3 install selenium
验证安装成功。
pip show selenium
进入目录/etc/yum.repos.d/
cd /etc/yum.repos.d/
新建文件google-chrome.repo
vim google-chrome.repo
在新建文件中输入以下代码,按下shift+q,输入x回车保存。
[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch
enabled=1
gpgcheck=1
gpgkey=<https://dl-ssl.google.com/linux/linux_signing_key.pub>
安装chrome浏览器
yum -y install google-chrome-stable --nogpgcheck
查看是否安装成功
google-chrome --version
建立软连接。
which google-chrome
ln -s 第一行命令找到的路径 /bin/chrome
解决root用户不能运行chrome
先输入
vim /opt/google/chrome/google-chrome
然后修改最后一行为下面这样。
exec -a "$0" "$HERE/chrome" "$@" --no-sandbox $HOME
安装Chromedriver
访问这个镜像,找到对应安装Chrome的版本,npm.taobao.org/mirrors/chr…,复制Linux版本的下载地址,我的是95.0.4638我就安装这个版本的Chromedriver Linux版。
wget https://npm.taobao.org/mirrors/chromedriver/95.0.4638.54/chromedriver_linux64.zip
下载完安装解压软件。
yum -y install zip
安装完解压。
unzip chromedriver_linux64.zip
移动到 /usr/bin目录下。
sudo mv chromedriver /usr/bin
验证安装。
chromedriver --version
修改程序
在当前目录下新建文件
vim dgtle_bot.py
进入编辑模式把代码粘进去。
输入以下代码运行,不出意外的运行出错了。
python3 dgtle_bot.py
原因是一开始装的Chromedriver版本过低,也有一些代码的问题,适用于linux的代码我已经改好上传到了github,可以正常使用。
再次运行,成功了。
Python安装细节:简书