美文网首页
Item容器

Item容器

作者: 一只会循环的松鼠 | 来源:发表于2018-05-12 21:48 被阅读0次

    Item :
    位置:scrapy根目录下的item.py中的Item类
    item.py:
    Field类:一个dict的别称,特性与dict完全相同。
    自定义一个字段,如:

    name=scrapy.Field()#与name=dict()一样
    DictItem类:Item的父类,Item类没有任何实现,DictItem继承了Collection类的特性。
    其中有一个field={ }的字典属性,用于存放Field类创建的字典。
    Item Loader :
    位置:from scrapy.contrib.loader import ItemLoader
    ItemLoader主要用途就是扩展装载数据的方式。
    主要方法:
    def init(self, item=None, selector=None, response=None, parent=None, **context):
    当selector没有指定时,有一全局属性default_selector_class = Selector
    同理item为空时:item = self.default_item_class()
    def add_xpath(self, field_name, xpath, *processors, **kw):#以某种形式取出数据
    def load_item(self):#该方法将数据存入item中
    使用:
    l=ItemLoader(item=TextScrapyItem,response=response)
    l.add_xpath('name','xpath表达式')
    l.load_item( )#将数据从Item loder中存到Item中
    其中:
    self._local_values = defaultdict(list)#用来在Item Loader中存数据
    其中还有很多细节,目前没有太过仔细看,学习了一下基础。

    相关文章

      网友评论

          本文标题:Item容器

          本文链接:https://www.haomeiwen.com/subject/ycghdftx.html