Linux服务器部署Django项目(selenium驱动Chrome浏览器无头模式实现自动化操作)

服务器相关信息

        4核4GB  80G磁盘  linux centos 7.9----CentOS Linux release 7.9.2009 (Core)

本文参考内容来源:

        linux安装python3.9-优快云博客

        在Linux上使用Selenium驱动Chrome浏览器无头模式_linux selenium-优快云博客

        Linux使用selenium-优快云博客

一、linux安装python3.6.8

1. 查看当前python版本

[root@quality-wall-1 /]# python -V
Python 2.7.5

        可以看到执行python,默认是2.7.5

2. 安装依赖包

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel

3. 下载源码包

wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz

4. 解压安装

# 解压压缩包
tar -zxvf Python-3.6.8.tgz

# 进入文件夹
cd Python-3.6.8

# 配置安装位置
./configure prefix=/usr/local/python3

# 安装
make && make install

        如果最后没提示出错,就代表正确安装了,在/usr/local/目录下就会有python3目录

5. 添加软连接

#添加python3的软链接 
ln -s /usr/local/python3/bin/python3 /usr/bin/python3 

#添加 pip3 的软链接 
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

二、安装mysql

参考安装:Linux安装MySQL(超详细,附图安装)-优快云博客

        Django项目3.1以上通过mysqlclient连接mysql需要8.0.11以上版本

三、下载相关pip内容

        内容详解:

asgiref (3.4.1)
ASGI 规范的参考实现,用于构建异步 Web 应用程序。

backports.zoneinfo (0.2.1)
用于提供 Python 3.9 引入的 zoneinfo 模块的向后兼容性。

certifi (2024.12.14)
提供了经过验证的 CA 证书包,用于安全连接。

charset-normalizer (2.0.12)
用于检测和规范化字符编码。

Deprecated (1.2.15)
用于标记已弃用的代码,并提供迁移建议。

distro (1.9.0)
用于识别操作系统的分布信息。

Django (3.2.25)
一个流行的 Python Web 框架。

djangorestframework (3.15.1)
用于构建 RESTful API 的 Django 扩展。

ffmpeg-python (0.2.0)
用于与 FFmpeg 交互的 Python 库。

future (1.0.0)
用于提供 Python 2 和 Python 3 之间的兼容性。

idna (3.10)
用于处理国际化域名 (IDNA)。

importlib-resources (5.4.0)
提供对 Python 包资源的访问。

Jinja2 (3.0.3)
一个强大的模板引擎。

MarkupSafe (2.0.1)
用于安全处理字符串转义,是 Jinja2 的依赖。

mysqlclient (2.1.1)
用于与 MySQL 数据库交互的 Python 库。

numpy (1.19.5)
用于科学计算的库,提供多维数组支持。

packaging (21.3)
用于解析和处理软件包的元数据。

pip (9.0.3)
Python 的包管理工具,版本较旧,建议升级。

pyparsing (3.1.4)
用于构建和解析复杂文本模式的库。

pytz (2024.2)
提供时区信息的库。

requests (2.27.1)
用于发送 HTTP 请求的库。

scikit-build (0.16.7)
用于简化构建过程的工具。

selenium (3.141.0)
用于 Web 浏览器自动化的库。

setuptools (59.6.0)
用于构建和分发 Python 包的工具。

six (1.16.0)
用于兼容 Python 2 和 Python 3 的库。

sqlparse (0.4.4)
用于解析 SQL 查询语句的库。

typing-extensions (4.1.1)
提供 Python 3.8 及更早版本中缺少的类型提示支持。

urllib3 (1.26.20)
用于处理 HTTP 请求的底层库。

wheel (0.37.1)
用于构建和分发 Python 轮子文件的工具。

wrapt (1.16.0)
用于编写装饰器和上下文管理器的库。

zipp (3.6.0)
用于提供对 Python zip 文件的支持。

四、安装Chrome浏览器

1.安装chrome命令

yum install https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

        这个命令是下载安装最新的稳定的chrome版本,不是固定的版本,所以要注意下载chromedriver时要对应版本

2.查看版本

google-chrome --version

        注:如果运行程序出错:Cannot find Chrome binary,就是没有安装chrome

3.chrome版本

        此处附上适用于linux centos的chrome历史版本链接

Index of /public/CentOS-7/x86_64/google.x86_64

4.安装依赖库

yum install pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 libXdamage.x86_64 libXext.x86_64 libXi.x86_64 libXtst.x86_64 cups-libs.x86_64 libXScrnSaver.x86_64 libXrandr.x86_64 GConf2.x86_64 alsa-lib.x86_64 atk.x86_64 gtk3.x86_64 -y

        注:如果没有安装依赖库会报错:error while loading shared libraries: libX11.so.6:

5.安装chromedriver(驱动程序)

        下载链接如下:点我下载,一定要找到与上面chrome版本相应的版本,这里下载和上面对应的86版本

        可以windows下载后然后传到服务器上,也可以直接使用wget命令下载

wget http://chromedriver.storage.googleapis.com/index.html?path=86.0.4240.22/

        注:找到对应版本的WebDriver进行linux版本的下载,有时候没有对应版本的chromedriver则安装低一个版本的也可以。

        然后给chromedriver 文件赋予可执行权限

chmod 777 chromedriver

        然后放到环境变量PATH路径中

cp chromedriver /usr/bin/

        查看chromedriver的版本号(验证ChromeWebDriver是否安装成功)

chromedriver --version

       6.chromedriver版本

        Chrome WebDriver下载地址(浏览器版本114之前)

chromedriver.storage.googleapis.com/index.html

        Chrome WebDriver下载地址(浏览器版本123以后): 

Chrome for Testing availability

五、selenium代码测试

        在服务器上新建一个python文件

touch chrome_test.py

        通过vi编辑器编辑文件       

vi chrome_test.py

         写入以下代码

#!/usr/bin/python3
#coding:utf-8
from selenium import webdriver
ch_options = webdriver.ChromeOptions()
#为Chrome配置无头模式
ch_options.add_argument("--headless")  
ch_options.add_argument('--no-sandbox')
ch_options.add_argument('--disable-gpu')
ch_options.add_argument('--disable-dev-shm-usage')

        在启动浏览器时加入配置

dr = webdriver.Chrome(options=ch_options)
#这是测试网站
url = "https://www.baidu.com"
dr.get(url)
#打印源码
print(dr.page_source)

        然后python执行这个py文件

python3 chrome_test.py

        结果打印出了源码,即selenium模块环境配置成功。

六、部署Django项目

        新建一个项目文件encryption

        其下设置3个文件夹和一个start.sh文件:

        code用于放置git上的项目代码

        config用于放置django项目中的settings.py文件

        log用于存放软件开始运行的各种日志记录

        start.sh用于django项目版本控制

        然后启动项目就大功告成了!!

七、运行情况

        输入top命令即可查看Linux服务器动态的实时视图,显示了系统的整体状态,包括 CPU 和内存使用情况。

  • Mem 行显示了总内存、已使用内存和空闲内存。
  • Swap 行显示了交换分区的使用情况。

        上述是在4核4GB的Linux服务器上,跑通Django项目,最大可同时运行3个线程控制Chrome浏览器实现自动化进程的服务器运行情况截图。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CYANYU

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值