我想获取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"
但是日期没有一年!我如何获得年份?
这是使用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