Add university scraper system with backend, frontend, and configs

- Add src/university_scraper module with scraper, analyzer, and CLI
- Add backend FastAPI service with API endpoints and database models
- Add frontend React app with university management pages
- Add configs for Harvard, Manchester, and UCL universities
- Add artifacts with various scraper implementations
- Add Docker compose configuration for deployment
- Update .gitignore to exclude generated files

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
yangxiaoyu-crypto
2025-12-22 15:25:08 +08:00
parent 2714c8ad5c
commit 426cf4d2cd
75 changed files with 13527 additions and 2 deletions

View File

@ -0,0 +1,46 @@
"""爬虫脚本相关的Pydantic模型"""
from datetime import datetime
from typing import Optional, Dict, Any
from pydantic import BaseModel
class ScriptBase(BaseModel):
"""脚本基础字段"""
script_name: str
script_content: str
config_content: Optional[Dict[str, Any]] = None
class ScriptCreate(ScriptBase):
"""创建脚本请求"""
university_id: int
class ScriptResponse(ScriptBase):
"""脚本响应"""
id: int
university_id: int
version: int
status: str
error_message: Optional[str] = None
created_at: datetime
updated_at: datetime
class Config:
from_attributes = True
class GenerateScriptRequest(BaseModel):
"""生成脚本请求"""
university_url: str
university_name: Optional[str] = None
class GenerateScriptResponse(BaseModel):
"""生成脚本响应"""
success: bool
university_id: int
script_id: Optional[int] = None
message: str
status: str # analyzing, completed, failed