repo <- contrib.url(getOption("repos")) index <- sub( "src/contrib", "web/packages/index.html", repo ) html <- readLines( index ) html <- grep( "./../web/packages/", html, value = TRUE ) data <- sub( '^.*index.html">(.*?)(.*?)$', "\\1 @@ \\2", html, perl = TRUE ) data <- sub( '<.*?>', '', data ) packages <- do.call( rbind, strsplit( data, " @@ " ) ) head( packages, 20 )