从R中的Curl获取修改日期

时间:2019-12-24 16:08:34

标签: r ftp

我想获取ftp服务器上文件的修改日期。

library(curl)
library(stringr)

获取原始目录列表:

con <- curl("ftp://ftp.FreeBSD.org/pub/FreeBSD/")
dat <- readLines(con)
close(con)
dat

## [1] "-rw-rw-r--    1 ftp      ftp          4259 May 07 16:18 README.TXT" 
## [2] "-rw-rw-r--    1 ftp      ftp            35 Sep 09 21:00 TIMESTAMP"  
## [3] "drwxrwxr-x    9 ftp      ftp            11 Sep 09 21:00 development"
## [4] "-rw-r--r--    1 ftp      ftp          2566 Sep 09 10:00 dir.sizes"  
## [5] "drwxrwxr-x   28 ftp      ftp            52 Aug 23 10:44 doc"        
## [6] "drwxrwxr-x    5 ftp      ftp             5 Aug 05 04:16 ports"      
## [7] "drwxrwxr-x   10 ftp      ftp            12 Sep 09 21:00 releases"  

但是日期还没有一年!我怎么得到一年?

1 个答案:

答案 0 :(得分:0)

这是使用httr和XML包的另一种方法。

scrape=httr::GET("http://ftp.FreeBSD.org/pub/FreeBSD/")
data=XML::htmlParse(scrape)
file=XML::xpathSApply(data,"//tr[position()>1]//td[@class='link']",xmlValue)
timestamp=XML::xpathSApply(data,"//tr[position()>1]//td[@class='date']",xmlValue)
result=data.frame(file,timestamp)

产品:

          file         timestamp
1 development/ 2019-Dec-24 20:15
2         doc/ 2017-Nov-12 18:45
3       ports/ 2017-Nov-12 17:43
4    releases/ 2019-Dec-24 20:15
5   snapshots/ 2018-Nov-09 22:47
6   README.TXT 2015-May-07 16:18
7    TIMESTAMP 2019-Dec-24 20:15
8    dir.sizes 2019-Dec-24 10:00