Python:从 FTP 服务器下载文件

2022-01-09 00:00:00 python python-requests download ftp

问题描述

我正在尝试下载一些公共数据文件.我截屏以获取文件的链接,它们看起来都像这样:

I'm trying to download some public data files. I screenscrape to get the links to the files, which all look something like this:

ftp://ftp.cdc.gov/pub/Health_Statistics/NCHS/nhanes/2001-2002/L28POC_B.xpt

我在 Requests 库网站上找不到任何文档.p>

I can't find any documentation on the Requests library website.


解决方案

requests 库不支持 ftp 链接.

requests library doesn't support ftp links.

要从 FTP 服务器下载文件,您可以:

To download a file from FTP server you could:

import urllib 

urllib.urlretrieve('ftp://server/path/to/file', 'file')
# if you need to pass credentials:
#   urllib.urlretrieve('ftp://username:password@server/path/to/file', 'file')

或者:

import shutil
import urllib2
from contextlib import closing

with closing(urllib2.urlopen('ftp://server/path/to/file')) as r:
    with open('file', 'wb') as f:
        shutil.copyfileobj(r, f)

Python3:

import shutil
import urllib.request as request
from contextlib import closing

with closing(request.urlopen('ftp://server/path/to/file')) as r:
    with open('file', 'wb') as f:
        shutil.copyfileobj(r, f)

相关文章