如何将Scrapy数据上传到FTP

56lgkhnf  于 2022-11-09  发布在  其他
关注(0)|答案(1)|浏览(169)

我试着上传scv到ftp。我怎么看哪里有2种方法:摘要格式+摘要URI和摘要。
我的settings.py用第一种方式连接到FTP,但不能上传文件。我得到错误550。而且它也被弃用了。

FEED_FORMAT = 'csv'
FEED_URI = 'ftp://***/files/file.csv'

所以我尝试使用FEEDS。我读了这个https://docs.scrapy.org/en/latest/topics/feed-exports.html#std-setting-FEEDS很多次,并在这里搜索的例子,并要求在官方Discord没有答案。这部分是作品和创建文件:

FEEDS = {
 pathlib.Path('file.csv'): {
    'format': 'csv',
  }
}

我需要写FTP登录和通过FEEDS,但我不知道如何。我尝试了这个,它不工作:

FEED_STORAGES = {
 'ftp': 'ftp://****/files/file.csv',
}

我试过这样的东西,它也不起作用:

FEEDS = {
  pathlib.Path('file.csv'): {
    'format': 'csv',
  }
 'ftp': 'ftp://****/files/file.csv',
}

我认为这是一个很简单的问题,因为得到的答案像“阅读文件”,但我困在这里。
所以第一个问题我可以写登录并在www.example.com中传递settings.py??或者在废弃的FEED_FORMAT和FEED_URI之后,它应该在另一个文件中。
第二个问题是如何写登录并传递到FTP的FEEDS。我真的需要语法在这里不链接这个文件https://docs.scrapy.org/,因为我读了它的全部。如果问题实际上是真的很难,我会感谢链接到另一个文件,而不是复制粘贴官方。

ilmyapht

ilmyapht1#

我得到错误550。
据我所知,该错误意味着您尝试使用的路径不存在,或者您没有访问该路径的权限。
我建议检查路径和/或您的凭据。
但是,如果您想尝试使用FEEDS来代替,请继续阅读。
这些文档确实显示了您需要的示例:https://docs.scrapy.org/en/latest/topics/feed-exports.html#feeds
但为了进一步简化代码,最小示例如下所示:

FEEDS = {
    'ftp://****/files/file.csv': {
        'format': 'csv',
    },
}

当然,如果要修改默认值,可以添加其他选项。

相关问题