|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- # crawling-service
-
- 一个基于 Node.js 和 Playwright 的商品信息爬虫服务。
-
- ## 功能特性
-
- - 🚀 提供 RESTful API 接口
- - 🔍 支持商品信息爬取
- - 📸 支持商品截图功能
- - 🛡️ 内置安全防护
- - 📝 完整的日志记录
- - 🔄 模块化设计
-
- ## 技术栈
-
- - Node.js (v22.x)
- - Express.js - Web 框架
- - Playwright - 浏览器自动化
- - Winston - 日志管理
- - Jest - 单元测试
- - Helmet - 安全中间件
- - CORS - 跨域支持
-
- ## 项目结构
-
- ```
- src/
- ├── config/ # 配置文件
- ├── controllers/ # 控制器
- ├── middlewares/ # 中间件
- ├── routes/ # 路由
- ├── services/ # 业务逻辑
- ├── utils/ # 工具函数
- ├── app.js # 应用入口
- └── server.js # 服务器配置
- ```
-
- ## 安装说明
-
- 1. 确保已安装 Node.js v22.x
- 2. 克隆项目
- ```bash
- git clone http://dev.sohomall.jp:3000/lizhuang/crawling-service.git
- cd crawling-service
- ```
-
- 3. 安装依赖
- ```bash
- npm install
- ```
-
- 4. 配置环境变量
- ```bash
- cp .env.example .env
- # 编辑 .env 文件,配置必要的环境变量
- ```
-
- ## 运行服务
-
- 开发环境:
- ```bash
- npm run dev
- ```
-
- 生产环境:
- ```bash
- npm start
- ```
-
- ## API 接口
-
- ### 商品信息查询
-
- - 请求方式:GET
- - 接口路径:`/api/product/info`
- - 参数:
- - url: 商品URL(必填)
- - needScreenshot: 是否需要截图(可选,默认 false)
- - platform: 平台(可选,目前仅支持 amazon)
-
- ## 开发规范
-
- - 遵循 SOLID 原则
- - 函数职责单一
- - 完整的异常处理
- - 清晰的代码注释
- - 统一的代码风格
-
- ## 测试
-
- 运行测试:
- ```bash
- npm test
- ```
-
- ## 贡献指南
-
- 1. Fork 项目
- 2. 创建特性分支
- 3. 提交变更
- 4. 推送到分支
- 5. 创建 Pull Request
-
- ## 许可证
-
- ISC License
|