繁体   English   中英

如何使用Python从ftp支持的网站自动下载文件?

[英]How to download files automatically from ftp supported website using Python?

我想下载网站上托管的1500个文件。 该网站受用户名和密码保护。 我有用户名和密码。 如果我手动下载所有这些1500个单独的文件,那么它将非常繁忙。 所以我想通过Python自动下载驻留在服务器中的所有那些文件。

是可以通过python吗?

任何帮助在此表示赞赏。 非常感谢。

import urllib.request
auth_handler = urllib.request.HTTPBasicAuthHandler()
auth_handler.add_password(url='http://****/',
                      user='****',
                      passwd='****')
opener = urllib.request.build_opener(auth_handler)
urllib.request.install_opener(opener)
urllib.request.urlopen('http://****/')

从Python ftplib文档中

>>> from ftplib import FTP
>>> ftp = FTP('ftp.debian.org')     # connect to host, default port
>>> ftp.login()                     # user anonymous, passwd anonymous@
'230 Login successful.'
>>> ftp.cwd('debian')               # change into "debian" directory
>>> ftp.retrlines('LIST')           # list directory contents
-rw-rw-r--    1 1176     1176         1063 Jun 15 10:18 README
...
drwxr-sr-x    5 1176     1176         4096 Dec 19  2000 pool
drwxr-sr-x    4 1176     1176         4096 Nov 17  2008 project
drwxr-xr-x    3 1176     1176         4096 Oct 10  2012 tools
'226 Directory send OK.'
>>> ftp.retrbinary('RETR README', open('README', 'wb').write)
'226 Transfer complete.'
>>> ftp.quit()

如您所见,您可以使用ftp.retrlines获取有关文件名的信息,并使用ftp.retrbinary传输给定文件。 您可以组合使用这些功能来完成您的任务。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM