From 256573cb8b2eb4ae82f0c4387049349881fd061b Mon Sep 17 00:00:00 2001 From: gitee-bot Date: Fri, 15 Aug 2025 02:51:43 +0000 Subject: [PATCH] Update README.md --- README.md | 83 +++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 71 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 02a9373..06d5982 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,20 @@ -# Crawl Packages According to CSV File +# 根据 CSV 文件爬取制品 -## Description +## 项目简介 -根据 CSV 文件中的制品 GAV(Group, Artifact, Version)同步上游源的制品。 +该工具用于根据 CSV 文件中定义的制品 GAV(Group, Artifact, Version)信息,同步上游源的制品。支持多种包类型,例如 Maven、PyPI、Conda、NPM 等。 -## Usage +## 功能特性 + +- 支持从 CSV 文件读取制品信息 +- 支持多种制品类型(Maven、PyPI、Conda、NPM 等) +- 支持自定义 CSV 分隔符 +- 支持指定日志目录 +- 支持从上次同步位置继续同步 + +## 使用方法 + +### 命令行参数 ```shell usage: crawler.py [-h] -f FILE -t TYPE [-s SEP] [--no-header] [-o LOG_DIR] @@ -13,13 +23,62 @@ usage: crawler.py [-h] -f FILE -t TYPE [-s SEP] [--no-header] [-o LOG_DIR] Sync packages according to csv file optional arguments: - -h, --help show this help message and exit - -f FILE, --file FILE specify the csv file which contains package info to sync - -t TYPE, --type TYPE specify the type of packages ready to sync - -s SEP, --sep SEP specify the sep of csv file (default: " ") - --no-header whether the csv file has header + -h, --help 显示帮助信息 + -f FILE, --file FILE 指定包含制品信息的 CSV 文件路径 + -t TYPE, --type TYPE 指定要同步的制品类型(如 maven, pypi, npm 等) + -s SEP, --sep SEP 指定 CSV 文件的分隔符(默认为 " ") + --no-header 指定 CSV 文件无表头 -o LOG_DIR, --log-dir LOG_DIR - specify log directory (default: /tmp) + 指定日志输出目录(默认为 /tmp) --last-sync LAST_SYNC - specify last sync package -``` \ No newline at end of file + 指定上次同步的制品名称 +``` + +### 示例 + +```bash +# 同步 Maven 制品 +python crawler.py -f packages.csv -t maven --sep "," --log-dir /var/log/crawler --last-sync my-group/last-artifact + +# 同步 PyPI 制品,CSV 无表头 +python crawler.py -f pypi_packages.csv -t pypi --no-header +``` + +## 项目结构 + +``` +crawler/ +├── crawler.py # 主程序入口 +├── download/ # 下载模块 +│ ├── fetcher.py # 根据制品类型获取目标版本 +│ ├── package_download.py # 下载任务管理器 +│ └── struct.py # 数据结构定义 +├── log/ # 日志模块 +│ └── logger.py # 日志记录器 +├── parse/ # CSV 解析模块 +│ └── parser.py # CSV 文件解析器 +``` + +## 依赖安装 + +```bash +pip install -r crawler/requirements.txt +``` + +## 支持的制品类型 + +目前支持以下制品类型: + +- Maven +- PyPI +- Conda +- NPM +- Go 模块 + +## 开发与贡献 + +欢迎提交 Issue 和 Pull Request。请确保代码风格一致,并提供清晰的提交信息。 + +## 许可证 + +本项目采用 MIT 许可证。详情请查看项目根目录下的 LICENSE 文件。 \ No newline at end of file -- Gitee