Açıklama Yok

mrh 1835feda6a 导出数据,后续测试,临时保存 9 ay önce
CF-Clearance-Scraper @ 7a160f5649 2cec5ceca4 add readme.md 10 ay önce
config 60680e264e 完成 docling 转换为 markdown 文件,还需要一点清洗数据,并且 URL 几乎不可用。表格是正常的 10 ay önce
database 2b701092ff 删除 API 代码,准备改为 celery 的方式 10 ay önce
mylib 61c7a90974 有些 resutl items 存在 cloudflare 人机验证,尝试跳过这些页面转换 10 ay önce
tests 1835feda6a 导出数据,后续测试,临时保存 9 ay önce
utils 61c7a90974 有些 resutl items 存在 cloudflare 人机验证,尝试跳过这些页面转换 10 ay önce
worker 1835feda6a 导出数据,后续测试,临时保存 9 ay önce
.clinerules 9712124875 基于上下文管理器完成谷歌搜索,用的测试指纹浏览器 10 ay önce
.clinerules-code a78d48b434 完成 Google search 关键词回车搜索 10 ay önce
.env 48010b4ed9 一个简单的 API master worker 接口和心跳检测 10 ay önce
.gitignore 1835feda6a 导出数据,后续测试,临时保存 9 ay önce
.gitmodules 2cec5ceca4 add readme.md 10 ay önce
CONVENTIONS.md faae2ca9f0 完成 dp 搜索和翻页 10 ay önce
__init__.py 78e12d7b83 加入 dristion page 后关键词搜索 10 ay önce
architecture.md 1835feda6a 导出数据,后续测试,临时保存 9 ay önce
poetry.lock 2cec5ceca4 add readme.md 10 ay önce
pyproject.toml 2cec5ceca4 add readme.md 10 ay önce
readme.md 2cec5ceca4 add readme.md 10 ay önce

readme.md

项目概述

本项目是一个分布式任务处理系统,专注于从网页中提取数据并进行 HTML 转换。它采用模块化设计,支持多机分布部署,确保任务的可追踪性和实时性。

技术栈

  • 编程语言: Python
  • 任务调度: Celery
  • 数据存储: SQLite
  • HTML 转换: Pandoc, 自定义转换器
  • 搜索引擎集成: 浏览器驱动(基于 DrissionPage 和 ChromiumPage)
  • 网络支持: 解决 Cloudflare 人机验证 ; 自建代理池

功能特点

  1. 分布式任务处理:

    • 使用 Celery 实现分布式任务调度。
    • Worker 可在多台机器上部署,支持长时间运行的任务。
  2. HTML 转换:

    • 提供基础类 ConverterBase,用于处理 HTML 转换任务。
    • 支持提取内容、修复链接、过滤 Markdown 、转换成 docx 等功能。
  3. 谷歌搜索功能:

    • 使用自定义浏览器驱动(基于 DrissionPageChromiumPage)模拟浏览器行为。
    • 支持动态代理配置和无头模式。
    • 通过 XPath 定位搜索框并输入关键词。
    • 处理分页逻辑,支持滚动加载和点击“下一页”按钮。
    • 提取搜索结果的标题、URL 和内容,并存储到数据库中。
    • 支持保存 HTML 页面以供后续分析。
  4. 数据库交互:

    • 使用 SQLModel 与 SQLite 数据库交互,存储和检索搜索结果及转换结果。
  5. 日志记录:

    • 使用自定义日志工具记录关键操作,便于排查问题。

项目结构

.
├── config/                # 配置文件
├── database/              # 数据库相关代码
├── tests/                 # 测试代码
├── utils/                 # 工具类和辅助函数
├── worker/                # 核心业务逻辑
│   ├── celery/            # Celery 任务定义
│   ├── html_convert/      # HTML 转换模块
│   └── search_engine/     # 浏览器驱动
└── readme.md              # 项目说明文档

价值亮点

  • 高内聚低耦合: 模块间依赖关系清晰,易于扩展。
  • 实时性与任务恢复: 支持任务进度的实时监控和失败点恢复。
  • 灵活的数据处理: 支持多种数据源和转换方式,适应不同需求。

开始使用

  1. 安装依赖:

    poetry install
    
  2. 启动 Celery Worker:

    celery -A worker.celery.app worker --loglevel=info
    
  3. 运行主程序:

    python main.py