本文主要介绍了在内网环境下、服务主机无域名的情况下,为了抓取内网其他系统网页数据,安装使用Selenium的方,并详细介绍了离线安装python依赖包的方法。服务主机操作系统为麒麟V10 SP3。
一. 查看可以安装的浏览器安装包
1. 更新软件包索引
首先确保软件包列表是最新的:
sudo yum makecache 或使用 dnf(如果系统已迁移到 dnf): bash sudo dnf makecache
2. 搜索可安装的浏览器
使用以下命令搜索所有可用的浏览器相关包:
yum list available | grep -iE 'browser|chromium|firefox|edge|opera' 或更精确搜索: bash yum search browser 常见浏览器包名示例: 浏览器 可能包含的包名 备注 Firefox firefox, mozilla-firefox 开源浏览器,通常官方仓库提供 Chromium chromium, chromium-browser 开源版 Chrome,可能版本较旧 Epiphany epiphany GNOME 默认浏览器 Falkon falkon KDE 开发的轻量浏览器 Opera opera-stable 需手动添加仓库
3. 查看具体包信息
如果想查看某个包的详细信息(如版本、依赖):
yum info firefox # 以 Firefox 为例 输出示例: Available Packages Name : firefoxs Version : 91.5.0 Release : 1.oe1 Architecture : x86_64 Size : 85 M Source : firefox-91.5.0-1.oe1.src.rpm Repository : OS Summary : Mozilla Firefox Web Browser URL : https://www.mozilla.org/firefox/ License : MPLv2.0 Description : Firefox is an open-source web browser.
4. 安装浏览器
选择需要的浏览器包名进行安装,例如:
sudo yum install -y firefox # 安装 Firefox sudo yum install -y chromium # 安装 Chromium 验证 firefox --version
二. 安装 GeckoDriver(用于 Selenium 控制)
Firefox 的 GeckoDriver,需下载匹配版本。
1. 下载 GeckoDriver
在可联网机器上操作:
wget https://github.com/mozilla/geckodriver/releases/download/v0.34.0/geckodriver-v0.34.0-linux64.tar.gz 注:替换 v0.34.0 为 最新版本。
2.安装并配置
# 解压并移动到 /usr/local/bin tar -xzf geckodriver-*.tar.gz sudo mv geckodriver /usr/local/bin/ # 赋予执行权限 sudo chmod +x /usr/local/bin/geckodriver # 验证 geckodriver --version
三. 安装配置 Selenium 自动化
1.安装 Python 和 pip
若未安装:
sudo yum install -y python3 python3-pip
2.离线安装 Selenium
在可联网机器下载:
pip download selenium --dest /tmp/offline_pkgs 将 .whl 文件复制到麒麟V10,然后安装: sudo pip3 install /tmp/offline_pkgs/selenium-*.whl 或 pip install --no-index --find-links=/tmp/offline_pkgs selenium-*.whl
3.测试脚本
创建 waterfox_test.py:
from selenium import webdriver
from selenium.webdriver.firefox.options import Options
options = Options()
options.binary_location = "/opt/firefox/firefox" # 指定 firefox 路径
driver = webdriver.Firefox(options=options)
driver.get("https://192.168.1.1")
print(driver.title)
driver.quit()
运行:
bash
python3 waterfox_test.py
四.Python 依赖包离线安装详解
离线下载 Python 依赖包,适用于 麒麟(Kylin)V10 x86_64 系统,并指定使用 阿里云镜像源 加速下载。以下是详细解析和优化建议:
1. 依赖包下载
在可联网机器下载,命令解析
1.1直接指定多个包名下载
命令格式
pip download -d ./kylin_packages --platform manylinux2014_x86_64 # 指定平台(麒麟V10用此标签) --only-binary=:all: --python-version 3.10 --no-deps # 可选:不自动下载依赖 -i https://pypi.tuna.tsinghua.edu.cn/simple # 国内镜像加速 package1 package2 package3 # 直接列出包名 示例 bash pip download -d ./offline_packages --platform manylinux2014_x86_64 --python-version 3.10 numpy pandas torch==2.0.1
1.2通过 requirements.txt 批量下载
步骤1:创建 requirements.txt 文件 将需要下载的包名及版本写入文件:
#requirements.txt numpy>=1.21.0 pandas==1.3.5 torch==2.0.1+cpu # 指定CPU版本 也可根据现有项目生成 pip 步骤2:下载所有依赖包 ```bash pip download -r requirements.txt -d ./kylin_packages --platform manylinux2014_x86_64 --python-version 3.10 --only-binary=:all: -i https://pypi.tuna.tsinghua.edu.cn/simple
| 参数 | 作用 | 注意事项 |
|---|---|---|
| -r requirements.txt | 指定依赖列表文件 | 文件需存在且格式正确 |
| -d ./kylin_packages | 下载到本地目录 | 目录会自动创建 |
| –python-version 3.10 | 指定 Python 版本 | 必须与目标环境一致 |
| –platform manylinux2014_x86_64 | 指定麒麟 V10 兼容的 Linux 平台 | 确认架构是否为 x86_64 |
| –only-binary=:all: | 仅下载二进制包(避免源码编译) | 部分包可能无二进制版本 |
| –no-deps | 不下载依赖的依赖 | 需手动处理递归依赖 |
| -i https://mirrors.aliyun.com/pypi/simple/ | 使用阿里云镜像源 | 加速下载 |
2.依赖包安装
离线安装方法 将 ./kylin_packages 目录复制到目标机器后:
pip install --no-index --find-links=./kylin_packages -r requirements.txt
3.常见问题及优化建议
3.1. 下载失败:Could not find a version 原因:某些包在阿里云镜像中不存在,或平台不兼容。 解决: 移除 --only-binary=:all: 尝试下载源码包: bash pip download ... --no-binary=:all: # 仅下载源码 换回官方源(移除 -i 参数): bash pip download ... -i https://pypi.org/simple/ 3.2. 依赖缺失(因 --no-deps 导致) 风险:手动下载的包可能缺少依赖项,导致离线安装失败。 解决: 方法 1:移除 --no-deps,自动下载所有依赖: bash pip download ... # 去掉 --no-deps 方法 2:递归下载依赖项(推荐): bash # 使用 pipdeptree 生成完整依赖列表 pip install pipdeptree pipdeptree -r -p $(cat requirements.txt | cut -d'=' -f1) > full_requirements.txt pip download -r full_requirements.txt -d ./kylin_packages ... 3. 平台或 Python 版本不匹配 检查目标环境: bash # 在麒麟 V10 上运行: uname -m # 确认架构(x86_64/aarch64) python3 --version # 确认 Python 版本 调整参数: 如果是 ARM 架构(如鲲鹏 CPU): bash --platform manylinux2014_aarch64 4. 加速下载技巧 并行下载:使用 xargs 或 parallel 加速: bash cat requirements.txt | xargs -n 1 -P 8 pip download -d ./kylin_packages ... 预缓存包:先在线环境安装,再利用缓存下载: bash pip install -r requirements.txt # 在线安装 pip download -r requirements.txt -d ./kylin_packages --no-deps # 从缓存提取 完整优化命令示例 bash # 递归下载所有依赖(推荐) pip download -r requirements.txt -d ./kylin_packages --python-version 3.10 --platform manylinux2014_x86_64 --only-binary=:all: -i https://mirrors.aliyun.com/pypi/simple/ # 或手动处理依赖树 pip install pipdeptree pipdeptree -r -p $(cat requirements.txt | cut -d'=' -f1) > full_requirements.txt pip download -r full_requirements.txt -d ./kylin_packages --python-version 3.10 --platform manylinux2014_x86_64 -i https://mirrors.aliyun.com/pypi/simple/ 总结 问题类型 解决方案 下载失败 换源、允许源码包、检查平台 依赖缺失 移除 --no-deps 或递归下载 速度慢 使用并行下载或预缓存 版本不匹配 检查 --python-version 和 --platform 按需调整参数即可高效完成离线包下载!
© 版权声明
文章版权归作者所有,未经允许请勿转载。如内容涉嫌侵权,请在本页底部进入<联系我们>进行举报投诉!
THE END
















暂无评论内容