【问题标题】:FTP 550 Error: No such file or directory in EGDAR FTP serverFTP 550 错误:EGDAR FTP 服务器中没有这样的文件或目录
【发布时间】:2015-10-07 16:37:55
【问题描述】:

我正在尝试下载不同年份不同季度的所有master.idx文件。 EDGAR FTP 的结构如下: “edgar/full-index/2011/QTR3/”,QTR3文件夹中是master.idx文件。

我尝试通过循环访问不同年份的文件夹,但它返回 550 错误。所以我试着像这样测试循环。

from ftplib import FTP
ftp = FTP('ftp.sec.gov')
ftp.set_debuglevel(2)
ftp.login('anonymous','shijiehkj@gmail.com')

QtrList = ('QTR1','QTR2','QTR3','QTR4')
year = 2013    
ftp.cwd('edgar/full-index/'+str(year))
print(ftp.nlst())
year = 2014    
ftp.cwd('edgar/full-index/'+str(year))
print(ftp.nlst())
ftp.quit()

年份 = 2013 部分有效,但是当我重置年份 = 2014 时,它给了我这样的错误。

550 edgar/full-index/2014: No such file or directory

但是,如果我在 2013 年和 2014 年之间再次添加登录信息,就像这样

year = 2013    
ftp.cwd('edgar/full-index/'+str(year))
print (ftp.nlst("QTR1"),year)

ftp = FTP('ftp.sec.gov')
ftp.set_debuglevel(2)
ftp.login('anonymous','shijiehkj@gmail.com')

year = 2014    
ftp.cwd('edgar/full-index/'+str(year))
print (ftp.nlst("QTR1"),year)

没有错误。任何人都知道为什么并且可以提供一个快速的解决方案来访问每年文件夹中每个季度文件夹中的 master.idx 吗?

【问题讨论】:

    标签: python ftp web-scraping edgar


    【解决方案1】:

    世杰,

    您的错误是由于 FTP 服务器上的相对路径与绝对路径。在你的路径前面扔一个“/”,你应该很高兴。我相信它正在尝试从子目录中执行 cd {your new FTP directory}。有点像能够从任何位置 cd /home,但不能从任何位置 cd home。

    from ftplib import FTP
    ftp = FTP('ftp.sec.gov')
    ftp.set_debuglevel(2)
    ftp.login('anonymous','shijiehkj@gmail.com')
    
    QtrList = ('QTR1','QTR2','QTR3','QTR4')
    year = 2013    
    ftp.cwd('/edgar/full-index/'+str(year))
    print(ftp.nlst())
    year = 2014    
    ftp.cwd('/edgar/full-index/'+str(year))
    print(ftp.nlst())
    ftp.quit()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-13
      • 1970-01-01
      • 2011-07-13
      相关资源
      最近更新 更多