笨鸟编程-零基础入门Pyhton教程

 找回密码
 立即注册

Feed 导出

发布者: 笨鸟自学网



谷歌云存储(GCS)

2.3 新版功能.

源存储在 Google Cloud Storage .

  • URI方案: gs

  • URI示例:

    • gs://mybucket/path/to/export.csv

  • 所需的外部库: google-cloud-storage .

有关身份验证的详细信息,请参阅 Google Cloud documentation .

你可以设置一个 项目标识 和 访问控制列表(ACL) 通过以下设置:

  • FEED_STORAGE_GCS_ACL

  • GCS_PROJECT_ID

此存储后端使用 delayed file delivery .

标准输出

进料被写入 Scrapy 处理的标准输出。

  • URI方案: stdout

  • 示例性URI: stdout:

  • 所需外部库:无

延迟文件传递

如上所述,所述的一些存储后端使用延迟的文件传递。

这些存储后端不会将项上载到提要URI,因为这些项是被刮取的。相反,Scrapy将项目写入一个临时本地文件,只有当所有文件内容都被写入(即在爬网结束时),该文件才会上载到提要URI。

如果要在使用这些存储后端之一时提前开始项目传递,请使用 FEED_EXPORT_BATCH_ITEM_COUNT 将输出项拆分为多个文件,每个文件具有指定的最大项数。这样,一旦文件达到最大项数,该文件就被传递到提要URI,从而允许条目传递在爬网结束之前开始。

项目筛选

VERSION 新版功能.

属性可以对要允许特定提要使用的项目进行过滤操作。 item_classes 选项输入 feeds options 。只有指定类型的项目才会添加到提要。

这个 item_classes 选项由 ItemFilter 类的默认值,它是 item_filter feed option 

您可以通过实现以下方法创建您自己的自定义筛选类 ItemFilter 的方法 accepts 和拿走 feed_options 作为一种论据。

例如::

class MyCustomFilter:

    def __init__(self, feed_options):
        self.feed_options = feed_options

    def accepts(self, item):
        if "field1" in item and item["field1"] == "expected_data":
            return True
        return False

您可以将自定义筛选类分配给 item_filter option of a feed 。看见 FEEDS 举个例子。


上一篇:项目管道下一篇:请求和响应

Archiver|手机版|笨鸟自学网 ( 粤ICP备20019910号 )

GMT+8, 2024-11-23 16:24 , Processed in 0.015906 second(s), 17 queries .

© 2001-2020

返回顶部