items类说明
-
items用法
在scrapy中,items是保存结构数据的地方,scrapy将解析结果以字典形式返回
下面是scrapy默认给我们创建的items.py文件class ZhaopinItem(scrapy.Item): # define the fields for your item here like: # name = scrapy.Field() pass
用法很简单,主需要继承scrapy.Item即可
-
查看Feild()源码
我们点击看下Field()类其中的内容
class Field(dict): """Container of field metadata"""
Field()继承了dict
class dict(object): """ dict() -> new empty dictionary dict(mapping) -> new dictionary initialized from a mapping object's (key, value) pairs dict(iterable) -> new dictionary initialized as if via: d = {} for k, v in iterable: d[k] = v dict(**kwargs) -> new dictionary initialized with the name=value pairs in the keyword argument list. For example: dict(one=1, two=2) """
由dict中的内容可以看出,Field()最终只是存储一些格式化的东西
在items中添加 Field
在zhilian.py中,我们通过scrapy shell获得得每一个数据,都需要创建对应的Field()
-
添加职位相关的item
class ZhaopinJobItem(scrapy.Item): jobs_url = scrapy.Field() update_time = scrapy.Field() job_title = scrapy.Field() salary = scrapy.Field(