Không có mô tả

mrh 6eb2b4d8dc 完成前后端代理自启动 9 tháng trước cách đây
config 5b963cdf68 完成 worker 微服务的路由、服务发现、健康检查;完成前后端文件上传和结果展示; 9 tháng trước cách đây
database 2b701092ff 删除 API 代码,准备改为 celery 的方式 10 tháng trước cách đây
mylib cf02362e19 完成Windows2系统的正常启动,不过浏览器路径启动还未测试 9 tháng trước cách đây
tests a8f84b34ae 测试 prefect 但是效果不理想 9 tháng trước cách đây
ui 6eb2b4d8dc 完成前后端代理自启动 9 tháng trước cách đây
utils 50dcc6cd81 修改代理,使用说明,新增文件便于打包发布 9 tháng trước cách đây
worker a8f84b34ae 测试 prefect 但是效果不理想 9 tháng trước cách đây
.clinerules 9712124875 基于上下文管理器完成谷歌搜索,用的测试指纹浏览器 10 tháng trước cách đây
.clinerules-code a78d48b434 完成 Google search 关键词回车搜索 10 tháng trước cách đây
.env 50dcc6cd81 修改代理,使用说明,新增文件便于打包发布 9 tháng trước cách đây
.gitignore 5b963cdf68 完成 worker 微服务的路由、服务发现、健康检查;完成前后端文件上传和结果展示; 9 tháng trước cách đây
.gitmodules 2cec5ceca4 add readme.md 10 tháng trước cách đây
CONVENTIONS.md faae2ca9f0 完成 dp 搜索和翻页 10 tháng trước cách đây
__init__.py 78e12d7b83 加入 dristion page 后关键词搜索 10 tháng trước cách đây
architecture.md 1835feda6a 导出数据,后续测试,临时保存 9 tháng trước cách đây
cmd_python.bat 50dcc6cd81 修改代理,使用说明,新增文件便于打包发布 9 tháng trước cách đây
poetry.lock a8f84b34ae 测试 prefect 但是效果不理想 9 tháng trước cách đây
pyproject.toml a8f84b34ae 测试 prefect 但是效果不理想 9 tháng trước cách đây
readme.md cf02362e19 完成Windows2系统的正常启动,不过浏览器路径启动还未测试 9 tháng trước cách đây
run_manager.bat cf02362e19 完成Windows2系统的正常启动,不过浏览器路径启动还未测试 9 tháng trước cách đây
run_multi_proxy.bat cf02362e19 完成Windows2系统的正常启动,不过浏览器路径启动还未测试 9 tháng trước cách đây
使用说明.txt cf02362e19 完成Windows2系统的正常启动,不过浏览器路径启动还未测试 9 tháng trước cách đây

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
    

    pack

    conda pack -n crawl_env -o crawl_env.tar.gz
    Remove-Item -Path crawl_env
    mkdir -p crawl_env
    tar -xzf crawl_env.tar.gz -C crawl_env
    Remove-Item -Path crawl_env.tar.gz
    D:\Program\7-Zip\7z.exe a -tzip -mmt -mx3 google_crawler.zip *.bat config database crawl_env download mylib script tests utils worker 使用说明.txt -xr!*/pycache/*
    # 使用 tar 压缩可能更快(其实也没多快),Windows11 以上都支持 tar.gz 格式
    tar -czvf google_crawler.tar.gz *.bat config database crawl_env download mylib script tests utils worker 使用说明.txt --exclude='*/__pycache__'