To add to Bill's answer:

- It helps you avoid to make typos in the field name.
- It allows you to specify per-field input/output processors, although you
can use a dict class in the item loaders too.
- It allows you to reuse base items to create more item classes. Also, as
your project grows, it helps you to document what the fields are for.

And yes, it's annoying when you just want to scrape a few fields from a few
pages but you will appreciate having an Item class when your project gets
larger and you have a lot of spiders.

If you are lazy, like myself, you can use this helper:
https://github.com/darkrho/scrapy-boilerplate/blob/master/scrapy_boilerplate.py#L218

And write items like this:

        BaseItem = NewItem("title body url")
        QuestionItem = NewItem("tags status", base_cls=BaseItem)
        AnswerItem = NewItem("user", base_cls=BaseItem)



On Wed, Jan 22, 2014 at 9:55 AM, Bill Ebeling <[email protected]> wrote:

>
> Off the top of my head, Items are objects, so you can extend them to add
> methods and the like.
>
> Probably useful under the hood, too.
>
> --
> You received this message because you are subscribed to the Google Groups
> "scrapy-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/scrapy-users.
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
You received this message because you are subscribed to the Google Groups 
"scrapy-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/scrapy-users.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to