初始化项目: Web Capture API v1.0.0
功能: - 网页截图(全页或视口) - HTML代码提取 - 自动滚动加载动态内容 - 自定义视口大小 - Web界面和RESTful API - 支持两种后端: agent-browser 和 Playwright - Docker部署支持 包含: - Flask REST API - 前端Web界面 - 测试脚本 - 安装脚本 - Dockerfile和docker-compose - systemd服务配置
This commit is contained in:
116
install.sh
Executable file
116
install.sh
Executable file
@@ -0,0 +1,116 @@
|
||||
#!/bin/bash
|
||||
# 一键安装脚本
|
||||
|
||||
set -e
|
||||
|
||||
echo "🚀 Web Capture API 安装脚本"
|
||||
echo "================================"
|
||||
echo ""
|
||||
|
||||
# 检测系统
|
||||
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
|
||||
OS="linux"
|
||||
elif [[ "$OSTYPE" == "darwin"* ]]; then
|
||||
OS="macos"
|
||||
else
|
||||
echo "❌ 不支持的操作系统: $OSTYPE"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "📋 系统检测: $OS"
|
||||
|
||||
# 检查 Python
|
||||
echo ""
|
||||
echo "📦 检查 Python..."
|
||||
if command -v python3.12 &> /dev/null; then
|
||||
PYTHON=python3.12
|
||||
elif command -v python3 &> /dev/null; then
|
||||
PYTHON=python3
|
||||
else
|
||||
echo "❌ 未找到 Python 3,请先安装 Python 3.10+"
|
||||
exit 1
|
||||
fi
|
||||
echo "✅ 找到 Python: $($PYTHON --version)"
|
||||
|
||||
# 检查 pip
|
||||
if ! $PYTHON -m pip --version &> /dev/null; then
|
||||
echo "❌ 未找到 pip,请先安装 pip"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 检查 Node.js (用于 agent-browser)
|
||||
echo ""
|
||||
echo "📦 检查 Node.js..."
|
||||
if command -v node &> /dev/null; then
|
||||
NODE_VERSION=$(node --version)
|
||||
echo "✅ 找到 Node.js: $NODE_VERSION"
|
||||
HAS_NODE=true
|
||||
else
|
||||
echo "⚠️ 未找到 Node.js,将跳过 agent-browser 安装"
|
||||
HAS_NODE=false
|
||||
fi
|
||||
|
||||
# 安装 Python 依赖
|
||||
echo ""
|
||||
echo "📥 安装 Python 依赖..."
|
||||
$PYTHON -m pip install --user playwright flask flask-cors gunicorn
|
||||
|
||||
# 询问使用哪个后端
|
||||
echo ""
|
||||
echo "🔧 选择浏览器后端:"
|
||||
echo " 1) Playwright (推荐,自动安装浏览器)"
|
||||
echo " 2) agent-browser (高性能,需要手动安装浏览器依赖)"
|
||||
read -p "请选择 [1/2]: " choice
|
||||
|
||||
case $choice in
|
||||
1)
|
||||
echo ""
|
||||
echo "🌐 安装 Playwright 浏览器..."
|
||||
$PYTHON -m playwright install chromium
|
||||
|
||||
if [ "$OS" == "linux" ]; then
|
||||
echo ""
|
||||
echo "⚠️ 如果浏览器启动失败,可能需要安装系统依赖:"
|
||||
echo " $PYTHON -m playwright install-deps chromium"
|
||||
fi
|
||||
;;
|
||||
2)
|
||||
if [ "$HAS_NODE" = false ]; then
|
||||
echo "❌ 安装 agent-browser 需要 Node.js"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "🌐 安装 agent-browser..."
|
||||
npm install -g agent-browser
|
||||
|
||||
if [ "$OS" == "linux" ]; then
|
||||
echo ""
|
||||
echo "⚠️ agent-browser 需要浏览器依赖,请运行:"
|
||||
echo " agent-browser install --with-deps"
|
||||
echo ""
|
||||
echo "如果需要 sudo 权限,请运行:"
|
||||
echo " sudo agent-browser install --with-deps"
|
||||
else
|
||||
agent-browser install
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo "❌ 无效选择"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# 完成
|
||||
echo ""
|
||||
echo "✅ 安装完成!"
|
||||
echo ""
|
||||
echo "🚀 启动服务:"
|
||||
echo " cd $(pwd)"
|
||||
echo " $PYTHON app.py"
|
||||
echo ""
|
||||
echo "📖 访问地址:"
|
||||
echo " http://localhost:5000"
|
||||
echo ""
|
||||
echo "📚 API 文档:"
|
||||
echo " http://localhost:5000/api"
|
||||
Reference in New Issue
Block a user