mysql_model.py
2.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
from datetime import datetime
from tortoise import Model, fields
from app.schemas.spider_schema import TypeEnum
class SpiderModel(Model):
"""
爬虫结果数据模型
"""
id = fields.IntField(pk=True)
time = fields.CharField(
max_length=10,
description="数据时间 yyyy-MM-dd 格式的字符",
regex=r"^\d{4}-\d{2}-\d{2}$",
)
targetType = fields.IntEnumField(
TypeEnum, description="数据类型", source_field="target_type"
)
platform = fields.CharField(max_length=255, description="平台名字")
sourceName = fields.CharField(
max_length=255, description="媒体资源名字", source_field="source_name"
)
score = fields.FloatField(description="热度得分")
createTime = fields.DatetimeField(
default=datetime.now, description="创建时间", source_field="create_time"
)
updateTime = fields.DatetimeField(
default=datetime.now, description="更新时间", source_field="update_time"
)
class Meta:
table = "spider_data"
class XWebCrawler(Model):
id = fields.BigIntField(pk=True, description="ID")
code = fields.CharField(max_length=64, unique=True, description="标识(crawl_)")
name = fields.CharField(max_length=255, description="名称")
description = fields.TextField(null=True, description="描述")
type = fields.IntField(default=0, description="类型0:普通;(待扩展)")
proxy_mode = fields.IntField(
default=0, description="代理模式0:不使用代理;(待扩展)"
)
status = fields.IntField(description="状态 0:关闭;1:启用;")
cron = fields.CharField(
max_length=32, description="执行周期,标准cron表达式(json)"
)
param_info = fields.TextField(null=True, description="参数信息")
target_url = fields.CharField(max_length=1000, null=True, description="目标地址")
sequence = fields.IntField(default=0, description="显示顺序")
create_time = fields.DatetimeField(null=True, description="创建时间")
update_time = fields.DatetimeField(null=True, description="更新时间")
class Meta:
table = "x_web_crawler"
table_description = "爬虫表"