4.9item

定义结构化数据

ArticleSpider/items.py

# -*- coding: utf-8 -*-

# Define here the models for your scraped items
#
# See documentation in:
# https://doc.scrapy.org/en/latest/topics/items.html

import scrapy

class ArticlespiderItem(scrapy.Item):
    # define the fields for your item here like:
    # name = scrapy.Field()
    pass

class JobBoleArticleItem(scrapy.Item):
    title = scrapy.Field()
    author = scrapy.Field()
    pub_time = scrapy.Field()
    content = scrapy.Field()
    like_num = scrapy.Field()
    favorite_num = scrapy.Field()
    comment_num = scrapy.Field()
    image_url = scrapy.Field()
    pass

提示:scrapy.Field()为数据类型,支持元组、字符串、等

使用item

ArticleSpider/spiders/jobbole.py

from ArticleSpider.items import JobBoleArticleItem

class JobboleSpider(scrapy.Spider):

    def parseDetail(self, response):
        article_item=JobBoleArticleItem()
        ...
        article_item["title"]=title
        article_item["url"]=response.url
        article_item['image_url'] = [image_url]
        ...
        yield article_item

[image_url]表示传递的为列表

调用yield article_item将把封装好的article_item数据传递到pipelines.py中的item中

scrapy-plugins/scrapy-djangoitem

Last updated

Was this helpful?