学习来源:
安装chrome和chrome driver
-----https://blog.csdn.net/zdlcome/article/details/133813441
安装Python11
-----https://blog.csdn.net/weixin_43741408/article/details/130251102
chromedriver下载地址
-----https://googlechromelabs.github.io/chrome-for-testing/
安装chrome
建议先直接下载rpm包或者用命令
wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
yum install google-chrome-stable_current_x86_64.rpm
安装成功后,打开 Google 浏览器时,会过一会闪退,需要在文件中添加配置。
1、进入指定文件夹:cd /opt/google/chrome
2、修改文件配置:vim google-chrome
3、在文件的最后一行接着写上:–user-data-dir --no-sandbox
直接运行会有错误,有一些依赖包确实,按照提示的包名安装上就可以了,
还有一个报错大概是linux运行浏览器需要安装 XVFB(X Virtual Framebuffer)提供一个虚拟的
X server 环境:
yum install Xvfb
然后验证,有对应版本输出应该就是可以了
google-chrome --version
安装chromedriver
下载对应版本的驱动,然后拖到云服务器上
然后解压,我的话是直接放在了项目里面,记得要修改权限
unzip chromedriver-linux64.zip
chmod 777 chromedriver
安装Python11
安装依赖
yum -y install make gcc epel-release zlib-devel openssl-devel bzip2-devel ncurses-devel gdbm-devel readline-devel sqlite-devel libffi-devel tk-devel xz-devel
安装openssl1.1.1(python3.11需要1.1.1版本以上的openssl)
yum install -y openssl-devel openssl11 openssl11-devel
配置openssl环境变量,可在 ~/.bashrce 文件中配置(上一步如果没做,这步即可忽略)
export CFLAGS=$(pkg-config --cflags openssl11)
export LDFLAGS=$(pkg-config --libs openssl11)
下载并解压python3.11.0,我建议直接去下载然后再拖到服务器
wget https://www.python.org/ftp/python/3.11.0/Python-3.11.0.tgz
tar -zxvf Python-3.11.0.tgz
进入python解压目录,指定安装目录,加载ssl模块
./configure --prefix=/opt/soft/python --with-ssl
编译并安装
make && make install
完成安装,验证一下版本是否正确
/opt/soft/python/bin/python3.11 -V
配置环境变量
export_PATH=/opt/soft/python/bin/:$PATH
LD_LIBRARY_PATH=/opt/soft/python/lib/:$LD_LIBRARY_PATH
创建软连接,方便调用
ln -sfn /opt/soft/python/bin/python3.11 /usr/bin/python3
ln -sfn /opt/soft/python/bin/pip3.11 /usr/bin/pip3
准备脚本运行测试
再Python文件中要写这些,不然会报错
chrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument('--disable-dev-shm-usage')
# linux
sev = Service("./chrome_linux/chromedriver") # 对应的chromedriver地址
# 创建浏览器对象
driver = webdriver.Chrome(service=sev, options=chrome_options)
这里运行的时候应该能成。