Scrapy-如何写入自定义的FEED_URI

时间:2019-10-03 18:29:10

标签: python scrapy

我是Scrapy的新手,我想编写s3的HTML的备份。我发现通过使用以下代码,我可以编写特定的抓取HTML:

settings.py

ITEM_PIPELINE = {
    'scrapy.pipelines.files.S3FilesStore': 1
}

AWS_ACCESS_KEY_ID = os.environ['S3_MAIN_KEY']
AWS_SECRET_ACCESS_KEY= os.environ['S3_MAIN_SECRET']

FEED_FORMAT = "json"
FEED_URI=f's3://bucket_name/%(name)s/%(today)s.html'

然后在我的抓取文件中:

def parse(self, response):
    yield {'body': str(response.body, 'utf-8')}

但是,我想写一个包含url作为子文件夹的键,例如:

FEED_URI=f's3://bucket_name/%(name)s/%(url)s/%(today)s.html'

如何动态获取FEED_URI的网址。我假设在

    def start_requests(self):
        urls = [
            'http://www.example.com',
            'http://www.example_1.com',
            'http://www.example_2.com',
        ]

我有多个网址。另外,是否仍要编写未嵌套在JSON中的原始HTML文件?谢谢。

1 个答案:

答案 0 :(得分:0)

Feed exports并非旨在将每个项目导出到另一个文件。

为此,请改写item pipeline

相关问题