muestra el escript:
pacman::p_load(imager, magick, surveydown, flextable, dplyr, stringr, glue, rvest)
db <- sd_db_connect(env_file = ".env",
ignore = FALSE,
gssencmode = "prefer")✔ Successfully connected to the database.
muestra el escript:
data <- sd_get_data(db = db)
data <- data |>
mutate(blog = str_extract(url_blog,
"(?<=//)(.*)(?=\\.netlify\\.app)"),
git = str_extract(url_git,
"(?<=https://github.com/)(.*)"),
url_git = if_else(!is.na(data$url_git),
paste0(data$url_git, "/issues"), NA),
git = str_replace(git, "\\w*/", ""),
git = str_replace(git, "/issues", ""))
figs <- list()
for (blog in data$url_blog)
{
pag <- tryCatch(
{
pag <- read_html(blog)
},
error = function(e)
{
pag <- NA
# cat("Ocurrió un error:", e$message, "\n")
return(pag)
}
)
if (!is.na(pag))
{
img <- pag |>
html_elements("img") |>
html_attr('src') |>
as_tibble() |>
slice(if_else(str_detect(blog, "limon"), 2, 1)) |>
str_remove("\\./") |>
paste0(blog, "/",. = _) |>
str_replace_all(" ", "%20") |>
str_replace_all("\\\\", "/") |>
str_replace("(\\w)(//)(\\w)", "\\1/\\3") |>
image_read() |>
image_scale("100x100>")
titulo <- paste0("img/", str_extract(blog, "(?<=//)(.*?)(?=\\.net)"), ".png")
image_write(img, titulo)
figs <- append(figs, titulo)
} else
{
img <- image_read("img/blog-caido.png") |>
image_scale("100x100>")
titulo <- paste0("img/", str_extract(blog, "(?<=//)(.*?)(?=\\.net)"), ".png")
image_write(img, titulo)
figs <- append(figs, titulo)
}
}
data |>
mutate(fig = unlist(figs)) |>
filter(nombre != "") |>
arrange(nombre) |>
select(fig, nombre, git, url_git, blog, url_blog) |>
flextable() |>
set_header_labels(nombre = "Autor", git = "Github",
blog = "Blog", fig = "Portada") |>
mk_par(j = "fig",
value = as_paragraph(as_image(src = fig))) |>
mk_par(j = "git",
value = as_paragraph(hyperlink_text(x = git, url = url_git))) |>
mk_par(j = "blog",
value = as_paragraph(hyperlink_text(x = blog, url = url_blog))) |>
delete_columns(j = c(4, 6)) |>
flextable::width(j=2:4, width = c(3, 4, 3))Portada | Autor | Github | Blog |
|---|---|---|---|
Adrian Canova Herrandiz | |||
Ana Maria Salazar Suárez | |||
Andrés De la Rosa Portilla | |||
Denisse Alejandra Diaz Romo | |||
Juan José Hernández Viveros | |||
Katya Margarita Zaleta Salas | |||
Nohemy Cardona Claros | |||
Pita | |||
Ulises Zarate | |||
Victoria Carolina |