25 lines
739 B
Python
25 lines
739 B
Python
"""招聘数据模型"""
|
|
from datetime import datetime
|
|
import uuid
|
|
|
|
|
|
class JobData:
|
|
"""招聘数据 - 保留原始数据格式"""
|
|
|
|
def __init__(self, raw_data: dict, task_id: str = ""):
|
|
self.raw_data = raw_data
|
|
self.task_id = task_id
|
|
# 添加元数据
|
|
self.raw_data["_id"] = str(uuid.uuid4())
|
|
self.raw_data["_task_id"] = task_id
|
|
self.raw_data["_crawl_time"] = datetime.now().isoformat()
|
|
|
|
def to_dict(self) -> dict:
|
|
"""转换为字典(原始数据 + 元数据)"""
|
|
return self.raw_data
|
|
|
|
@classmethod
|
|
def from_raw(cls, raw: dict, task_id: str = "") -> "JobData":
|
|
"""从原始API数据创建"""
|
|
return cls(raw.copy(), task_id)
|