无界面 centOS 中使用 DrissionPage

无界面 centOS 中使用 DrissionPage

某电影网站使用了加密js,无法直接从主页上爬取电影信息,只好借助 selenium 等工具。selenium 需要在服务器上安装浏览器和对应的 driver。我的服务器是无界面 centOS,未找到对应的办法。偶然看到 DrissionPage,一个国人开发的网页自动化工具,直接使用系统中的 chromium(可以指定chrome、edge),不需要 driver。尝试了一下,可以解决问题。

需要解决两个事情:

  • centOS 上安装安装 chrome
  • DrissionPage 使用无头模块

1. centos 安装 chrome

添加 Chrome 的 Yum Repository:

sudo wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm

安装下载的 rpm 包:

sudo yum localinstall google-chrome-stable_current_x86_64.rpm

如果出现依赖问题,执行以下命令来解决:

sudo yum install lsb

默认安装位置:/opt/google/chrome/google-chrome,可以通过在终端中输入 google-chrome-stable 来启动 Chrome 浏览器

2. python 代码

安装 DrissionPage 包

pip install DrissionPage

实现代码如下:

# -*- coding: utf-8 -*-
### 如何在 Linux 服务器上部署 DrissionPage #### 安装依赖项 为了使 DrissionPage 正常工作,在 CentOS 上需要安装 Chrome 浏览器以及 Python 的相关环境。对于无界面CentOS,可以通过命令行完成这些操作。 ```bash sudo yum update -y sudo yum install -y epel-release sudo yum install -y google-chrome-stable ``` 这会更新系统并安装 Google Chrome[^1]。 #### 设置 Headless 模式 由于是在无界面环境中运行,因此需要配置浏览器以 headless 模式启动。这意味着不需要图形用户界面即可执行自动化任务。 #### 安装 Python 和 pip 确保已安装最新版本的 Python 及其包管理工具 `pip`: ```bash sudo yum install -y python3-pip pip3 install --upgrade pip setuptools wheel ``` #### 安装 DrissionPage 库 通过 pip 安装 DrissionPage 库来简化 Web 自动化过程: ```bash pip3 install drission-page ``` 此命令将会下载并安装最新的稳定版 DrissionPage[^2]。 #### 编写简单的测试脚本 创建一个新的 Python 文件用于验证设置是否成功。下面是一个基本的例子,它打开网页并获取页面标题: ```python from drission_page import ChromiumPage with ChromiumPage(headless=True) as page: url = 'https://example.com' page.get(url) title = page.title print(f'Page Title: {title}') ``` 这段代码展示了如何利用 DrissionPage 创建一个新页面实例,并将其设为无头模式 (`headless=True`) 进行访问网站的操作。 #### 处理验证码问题 如果遇到验证码无法正常加载的情况,可能是因为缺少必要的字体文件或其他资源权限不足所致。可以尝试调整文件夹读取权限或安装额外的支持软件包来解决这个问题[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值