# 净页 **Repository Path**: deepin20/ClearWeb ## Basic Information - **Project Name**: 净页 - **Description**: ClearWeb 是一款基于 Python 开发的图形化网页爬取与内容提取工具。它能够递归爬取指定域名下的所有网页,自动识别并提取核心正文内容,去除页眉、页脚、版权声明、导航栏等冗余信息,支持多种输出格式(TXT、Markdown、JSON、PDF、EPUB、Word),并提供了任务队列、定时任务、代理设置、断点续爬等高级功能,适合用于网站内容归档、离线阅读、数据采集等场景。 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-25 - **Last Updated**: 2026-08-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 净页 ClearWeb **ClearWeb** —— 通用网页内容提取与清洗工具(图形界面) > 版本:v3.1.0 | 开发状态:✅ 功能完整,可投入使用 ## 📖 项目简介 ClearWeb 是一款基于 Python 开发的图形化网页爬取与内容提取工具。它能够递归爬取指定域名下的所有网页,自动识别并提取核心正文内容,去除页眉、页脚、版权声明、导航栏等冗余信息,支持多种输出格式(TXT、Markdown、JSON、PDF、EPUB、Word),并提供了任务队列、定时任务、代理设置、断点续爬等高级功能,适合用于网站内容归档、离线阅读、数据采集等场景。 ## ✨ 主要功能 - **递归爬取**:从起始 URL 开始,广度优先遍历同域名下的所有 HTML 页面,自动去重。 - **智能正文提取**:基于 Mozilla Readability 算法,自动识别并提取网页核心正文,支持备选规则,适应政府、新闻、博客等多类站点。 - **多格式导出**:支持 TXT、Markdown(.md)、JSON、PDF、EPUB、Word(.docx)六种输出格式。 - **三种输出模式**:合并为一个文件、每个页面单独保存、按网站路径结构保存。 - **任务队列**:批量添加 URL,按顺序自动执行,状态实时可视化。 - **定时任务**:设置间隔时间,周期性自动执行爬取任务。 - **断点续爬**:中断后下次启动自动从上次停止位置继续,避免重复劳动。 - **JavaScript 渲染**:支持 Playwright 引擎渲染动态页面(SPA、Ajax 加载内容)。 - **代理与认证**:支持单个代理、代理池、Cookie 导入、自定义请求头。 - **内容过滤**:自动删除版权、备案号等页脚信息,支持自定义过滤关键词。 - **跨平台**:Windows、Linux(Deepin/UOS/Ubuntu)、macOS 均可运行。 - **现代化图形界面**:基于 PyQt6,深色主题,简洁易用。 ## 🖥️ 界面预览 ![主界面截图](https://via.placeholder.com/800x500?text=ClearWeb+UI) *(实际使用时请替换为真实截图)* ## 📦 安装与使用 ### 方式一:一键启动(开发环境) 1. 克隆或下载本项目源码。 2. 在项目根目录执行: ```bash chmod +x start.sh ./start.sh start.sh 会自动创建虚拟环境、安装依赖、安装 Playwright 浏览器,并启动程序。 方式二:Deb 包安装(Deepin/UOS 推荐) 在项目根目录执行 ./build_deb.sh 生成 clearweb_3.1.0_all.deb。 双击 deb 包安装,或使用命令: bash sudo dpkg -i clearweb_3.1.0_all.deb 安装后,在终端输入 clearweb 启动,或在应用菜单中找到“净页 ClearWeb”。 方式三:手动安装(通用) bash # 创建虚拟环境(可选) python3 -m venv venv source venv/bin/activate # Linux/macOS # 或 venv\Scripts\activate # Windows # 安装依赖 pip install -r requirements.txt # 安装 Playwright 浏览器(可选) playwright install chromium # 运行 python run.py 🚀 使用指南 基本操作 在“起始网址”输入框输入目标 URL(如 https://example.com)。 在“输出文件”中选择保存路径和格式(默认 output.txt)。 点击“开始爬取”按钮,程序将自动爬取并提取正文。 查看实时日志和进度,完成后在输出目录查看结果。 高级设置 点击“设置”按钮,可调整以下参数: 爬取参数:最大深度、并发线程数、爬取范围(同域名/同路径)、输出模式、输出格式、JS 渲染开关。 网络与认证:代理地址、代理池、Cookie 字符串、自定义请求头。 内容过滤:URL 正则过滤、自定义过滤关键词。 高级工具:定时任务(间隔小时)。 界面:语言切换(简体/繁体/英文)。 任务队列 在“任务队列”区域输入 URL 和输出文件,点击“添加任务”加入队列。 支持批量添加,右键删除单个任务。 点击“开始队列”顺序执行,状态颜色区分(待执行/运行中/已完成/失败)。 🛠️ 技术栈 组件 技术 图形界面 PyQt6(深色主题) 网络请求 Requests(带重试机制)+ SOCKS 代理支持 HTML 解析 BeautifulSoup4 + lxml 正文提取 readability-lxml(Mozilla Readability 算法) JavaScript 渲染 Playwright(Chromium,浏览器实例复用) 并发下载 concurrent.futures.ThreadPoolExecutor PDF 导出 pdfkit(需系统安装 wkhtmltopdf) EPUB 导出 ebooklib Word 导出 python-docx 定时调度 schedule 库 状态持久化 JSON 文件(断点续爬) 📁 项目结构 text clearweb/ ├── run.py # 程序入口 ├── requirements.txt # Python 依赖 ├── start.sh # 一键启动脚本(Linux/macOS) ├── build_deb.sh # 构建 Deb 包脚本 ├── config/ # 全局配置 │ ├── settings.py │ └── default_filters.py ├── core/ # 核心功能模块 │ ├── crawler.py # 爬虫核心 │ ├── cleaner.py # 正文提取与清洗 │ └── exporters.py # 多格式导出 ├── gui/ # 图形界面 │ ├── main_window.py # 主窗口(PyQt6) │ ├── controllers/ # 控制器(爬取/队列/定时) │ └── resources/ # 图标资源 ├── utils/ # 工具类 │ ├── task_queue.py # 任务队列 │ ├── scheduler.py # 定时调度 │ ├── proxy_pool.py # 代理池 │ └── cookie_manager.py # Cookie 管理 ├── i18n/ # 多语言文件(zh_CN, zh_TW, en_US) └── output/ # 默认输出目录 📄 依赖说明 核心依赖(自动安装): Python 3.6+ PyQt6, requests, beautifulsoup4, lxml, readability-lxml, chardet, schedule 可选依赖(如需导出特定格式): PDF:pdfkit + 系统安装 wkhtmltopdf EPUB:ebooklib Word:python-docx JS 渲染:playwright 🤝 贡献指南 欢迎提交 Issue 和 Pull Request。请确保代码符合 PEP 8 规范,并保持与现有风格一致。新增功能请附带简要说明。 📜 开源协议 本项目采用 MIT 许可证。详情见 LICENSE 文件。 ✉️ 联系方式 作者:ClearWeb Team 邮箱:support@clearweb.com Made with ❤️ for a cleaner web.