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/7d821d27c3b718d9a24b36e8ab1ae0c0c2607eb8.jpg',
'url': 'https://avt.mkklcdnv3.com/avatar_225/3635-a_world_that_i_rule.jpg'
}]
}
我想获取“文件”中的“路径”以保存到我的数据库中。谢谢
解决方案
保存的文件在path
值中,在您的示例中'full/7d821d27c3b718d9a24b36e8ab1ae0c0c2607eb8.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()
推荐阅读
- python - 使用装饰器函数比较执行时间
- java - 如何在此代码中使用 .trim() 方法?
- android - AsyncTask 中的 Android 设置复选框 setChecked() 方法给出错误?
- go - 无法为 SAML 响应创建正确的签名
- unity3d - Oculus Quest - Unity 应用程序保持活跃
- java - 邮递员请求不正确 - 字符串错误
- javascript - 单击转到页面的某个部分时如何获取按钮?
- sql - SQL Server 中带负数的 POWER 函数
- python-3.x - Python 3 中的 urllib.request - 检查文件是否可下载
- python - 子进程找不到文件夹