longurl
Expand Short āURLsā
Description
Tools are provided to expand vectors of short URLs into long āURLsā. No āAPIā services are used, which may mean that this operates more slowly than āAPIā services do (since they usually cache results of expansions that every user of the service requests). You can setup your own caching layer with the āmemoiseā package if you wish to have a speedup during single sessions or add larger dependencies, such as āRedisā, to gain a longer-term performance boost at the expense of added complexity.
Whatās Inside The Tin
The following functions are implemented:
expand_urls: Expand a vector of (short) URLs using
Installation
install.packages("longurl", repos = c("https://cinc.rud.is", "https://cloud.r-project.org/"))
# or
remotes::install_git("https://git.rud.is/hrbrmstr/longurl.git")
# or
remotes::install_git("https://git.sr.ht/~hrbrmstr/longurl")
# or
remotes::install_gitlab("hrbrmstr/longurl")
# or
remotes::install_github("hrbrmstr/longurl")
NOTE: To use the āremotesā install options you will need to have the {remotes} package installed.
Usage
library(longurl)
library(magrittr)
# current version
packageVersion("longurl")
## [1] '0.3.3'
c(
"http://t.co/D4C7aWYIiA",
"1.usa.gov/1J6GNoW",
"ift.tt/1L2Llfr",
"bit.ly/1GPr5w5",
"http://l.dds.ec/1da152x",
"http://l.rud.is/seven",
"qrp://not a valid url/"
) -> test_urls
expand_urls(test_urls) %>%
dplyr::select(orig_url, status_code, expanded_url) %>%
knitr::kable()
| orig_url | status_code | expanded_url |
|---|---|---|
| http://t.co/D4C7aWYIiA | 200 | https://www.wired.com/2015/06/airlines-security-hole-grounded-polish-planes/ |
| 1.usa.gov/1J6GNoW | 404 | https://1.usa.gov/1J6GNoW |
| ift.tt/1L2Llfr | 200 | https://ifttt.com/applet_embeds/299814p/image?width=660&height=340 |
| bit.ly/1GPr5w5 | 200 | https://s3.amazonaws.com/features.ifttt.com/blog_images/Channels/Weebly+final+banner+with+IFTTT+logo.png |
| http://l.dds.ec/1da152x | 200 | http://l.dds.ec/1da152x |
| http://l.rud.is/seven | 404 | http://l.rud.is/seven |
| qrp://not a valid url/ | NA | NA |
longurl Metrics
| Lang | # Files | (%) | LoC | (%) | Blank lines | (%) | # Lines | (%) |
|---|---|---|---|---|---|---|---|---|
| R | 4 | 0.8 | 110 | 0.84 | 20 | 0.54 | 51 | 0.65 |
| Rmd | 1 | 0.2 | 21 | 0.16 | 17 | 0.46 | 27 | 0.35 |
Code of Conduct
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.