Scrapy 保存爬取数据

Scrapy 保存爬取数据Item对象是自定义的python字典,您可以使用标准的字典语法来获取到其每个字段的值。(字段即是我们之前用Field赋值的属性)一般来说,Spider将会将爬取到的数据以Item对象返回。

Scrapy 保存爬取数据 – 使用item

Item对象是自定义的python字典,您可以使用标准的字典语法来获取到其每个字段的值。(字段即是我们之前用Field赋值的属性):

>>> item = DmozItem()
>>> item['title'] = 'Example title'
>>> item['title']
'Example title'

一般来说,Spider将会将爬取到的数据以Item对象返回。所以为了将爬取的数据返回,我们最终的代码将是:

import scrapy
from  tutorial.items import TutorialItem

class DmozSpider(scrapy.Spider):
    name = "geekdocs"
    allowed_domains = ["geek-docs.com"]
    start_urls = [
        "https://geek-docs.com/vulkan/vulkan-tutorial/vulkan-understand-instance.html",
    ]

    def parse(self, response):
        for sel in response.xpath('//ul/li'):
            item = TutorialItem()
            item['title'] = sel.xpath('a/text()').extract()
            item['link'] = sel.xpath('a/@href').extract()
            item['desc'] = sel.xpath('text()').extract()
            yield item

您可以在 dirbot 项目中找到一个具有完整功能的spider。该项目可以通过 https://github.com/scrapy/dirbot 找到。

Scrapy 保存爬取数据 – 保存爬取到的数据

最简单存储爬取的数据的方式是使用如下命令:

scrapy crawl dmoz -o items.json

运行成功后,在TutorialItem目录中将生成items.json文件:
Scrapy 保存爬取数据
该命令将采用JSON 格式对爬取的数据进行序列化,生成 items.json 文件。在小规模的项目中,这种存储方式已经足够。如果需要对爬取到的item做更多更为复杂的操作,您可以编写Item Pipeline

文件内容如下:
Scrapy 保存爬取数据

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程