Python 如何在Scrapy中使用文件管道获得下载后的文件路径?
我使用Scrapy中的FilePipeline下载文件。它已成功下载,下面有一条消息Python 如何在Scrapy中使用文件管道获得下载后的文件路径?,python,scrapy,Python,Scrapy,我使用Scrapy中的FilePipeline下载文件。它已成功下载,下面有一条消息 {'file_urls': [u'https://avt.mkklcdnv3.com/avatar_225/3635-a_world_that_i_rule.jpg'], 'files': [{ 'checksum': '6eae71709357f85fba123165c6e64256', 'path': 'full/7d821d27c3b718d9a
{'file_urls': [u'https://avt.mkklcdnv3.com/avatar_225/3635-a_world_that_i_rule.jpg'],
'files':
[{
'checksum': '6eae71709357f85fba123165c6e64256',
'path': 'full/7d821d27c3b718d9a24b36e8ab1ae0c0c2607eb8.jpg',
'url': 'https://avt.mkklcdnv3.com/avatar_225/3635-a_world_that_i_rule.jpg'
}]
}
我想获取“文件”中的“路径”以保存到我的数据库中。
谢谢在您的示例中,保存的文件位于
路径的值中'full/7D821D27C3B718D9A24B36E8AB1AE0C2607EB8.jpg'
如果要获取完整(绝对)路径,需要使用os
模块或pathlib
:
saved_file_path = files[0]['path'] # 'full/7d821d27c3b718d9a24b36e8ab1ae0c0c2607eb8.jpg'
import os
full_path = os.path.abspath(saved_file_path)
from pathlib import Path
full_path = Path(saved_file_path).absolute()
输出路径由您在设置中定义。问题太模糊,无法理解。请您提供更多详细信息好吗?我不知道哪个变量包含此信息(消息)。因为它只在我运行“scrapy crawl spider”时出现在命令行中