You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Scrapy配置FEEDS失败:如何将JSON文件上传至Wasabi S3存储桶?

Scrapy爬虫结果无法上传至Wasabi S3存储桶的解决方法

以下是针对你的问题的排查和解决步骤:

  • 修正FEEDS的URL协议格式
    Scrapy的S3 Feed导出器默认识别s3://协议地址,而非HTTPS URL。将FEEDS中的目标路径改为:
FEEDS = {
    "s3://bucketname/%(name)s/%(name)s_%(time)s.json": {
        "format": "json",
    }
}
  • 指定Wasabi的S3端点URL
    Wasabi属于S3兼容存储,需要手动配置端点地址才能让Scrapy正确连接。在settings.py中添加:
AWS_ENDPOINT_URL = 'https://s3.ap-southeast-2.wasabisys.com'
  • 确认依赖包版本
    Scrapy的S3导出功能依赖boto3而非旧版boto,执行以下命令安装或更新:
pip install boto3
  • 修正配置变量大小写
    Scrapy的配置变量区分大小写,将密钥配置改为大写:
AWS_ACCESS_KEY_ID = "MY_ACCESS_KEY"
AWS_SECRET_ACCESS_KEY = "MY_SECRET_KEY"
  • 验证密钥与权限有效性
    编写简单脚本测试密钥是否能正常操作Wasabi存储桶,排除权限或密钥错误:
import boto3

s3_client = boto3.client(
    's3',
    aws_access_key_id='MY_ACCESS_KEY',
    aws_secret_access_key='MY_SECRET_KEY',
    endpoint_url='https://s3.ap-southeast-2.wasabisys.com'
)

# 测试上传小文件
with open('test_upload.txt', 'w') as f:
    f.write('test content')
s3_client.upload_file('test_upload.txt', 'bucketname', 'test_upload.txt')

如果脚本能成功上传,说明权限和密钥无问题,问题集中在Scrapy配置;若失败,检查密钥有效性或存储桶权限策略。

内容的提问来源于stack exchange,提问作者X-something

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 22:50:29