Item 对象是种简单的容器,保存了爬取到得数据
1.打开并修改items.py文件,新建了两个属性 name、url分别存储电影名和对应的相对地址
# -*- 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 SamzhuItem(scrapy.Item):
# define the fields for your item here like:
# name = scrapy.Field()
name = scrapy.Field()
url = scrapy.Field()
2.修改one_spider.py文件,可以将我们抓取的数据放入到对应的容器中去(xpath与css的具体用法先略过)
# -*- coding: utf-8 -*-
import scrapy
from samzhu.items import SamzhuItem
class SamSpider(scrapy.Spider):
name = "sam"
start_urls = [
"https://maoyan.com/board"
]
def parse(self, response):
print(response.text)
print('>'*50,'sam')
for sel in response.xpath('//*[@id="app"]/div/div/div/dl/dd'):
item = SamzhuItem()
item['name'] = sel.xpath('div/div/div[1]/p[1]/a/@title').extract()
item['url'] = sel.xpath('div/div/div[1]/p[1]/a/@href').extract()
print(item)
print('>'*50,'end')
3.运行 scrapy crawl sam
小结:
item对象主要是用来存储爬去数据,并对数据进行处理等等。
item对象类似于Python的字典,可以使用dict API进行获取参数,如下。此处只是简单介绍怎么调用,详细方法参考文档。
API | 说明 |
---|---|
| 获取所有键值 |
| 获取所有键-值 |