跳转至

Item

解析响应后,需要返回 Item 类型的数据,触发数据自动入库。 自定义的 Item 需要继承 maizeItem 类,字段定义为 Field。示例:

Python
from maize import Field, Item


class BaiduItem(Item):
    #  __table_name__ = "table_name"  # 表名,自动入库时必须设置
    url: str = Field()
    title: str = Field(default="默认标题")

Spiderparse

Python
from typing import Any, AsyncGenerator

from maize import Request, Response, Spider


class BaiduSpider(Spider):
    async def start_requests(self) -> AsyncGenerator[Request, Any]:
        yield Request(url="http://www.baidu.com")

    async def parse(self, response: Response):
        # 解析或处理 response
        item = BaiduItem()
        item["url"] = "https://www.baidu.com"
        item["title"] = "百度一下"
        yield item

使用方式

像字典一样使用

Python
item = BaiduItem()
item["url"] = "https://www.baidu.com"
item["title"] = "百度一下"
print(item["url"])
print(item["title"])

像属性一样使用

Python
item = BaiduItem()
item.url = "https://www.baidu.com"
item.title = "百度一下"
print(item.url)
print(item.title)