在ftp上爬取特定文件名的图片,保存在文件夹
时间: 2023-12-03 15:05:23 浏览: 25
以下是使用Python的示例代码:
```python
import os
from ftplib import FTP
# FTP服务器信息
ftp = FTP('ftp.server.com')
ftp.login(user='username', passwd='password')
# 要爬取的文件名前缀
file_prefix = 'image_'
# 要保存的本地文件夹
local_folder = './images/'
# 切换到指定目录
ftp.cwd('/path/to/remote/folder/')
# 获取目录下所有文件名
files = ftp.nlst()
# 遍历文件名,下载符合条件的文件
for filename in files:
if filename.startswith(file_prefix):
# 下载文件
local_path = os.path.join(local_folder, filename)
with open(local_path, 'wb') as f:
ftp.retrbinary('RETR ' + filename, f.write)
# 关闭连接
ftp.quit()
```
解释一下代码:
1. 首先连接到FTP服务器,并登录;
2. 然后指定要爬取的文件名前缀和本地保存文件夹;
3. 切换到指定的远程目录,获取该目录下所有文件名;
4. 遍历文件名,如果文件名以指定前缀开头,则下载该文件到本地文件夹;
5. 最后关闭FTP连接。
需要注意的是,如果FTP服务器需要使用被动模式(PASV),则需要在登录后添加一行 `ftp.set_pasv(True)`。另外,在实际使用中需要根据自己的情况修改FTP服务器地址、用户名、密码、远程目录路径等参数。