Olá pessoal, tudo bem?
Eu estou com uma dificuldade para usar a função httr::status_code()
em uma coluna de URLs que tenho em uma base de dados que obtive através de webscrapping. O objetivo é saber se o link direciona para uma página que existe e funciona (aliás, se existir uma função mais adequada por favor me avisem).
Para caber na dúvida, selecionei apenas a coluna que contém os links, e apenas as duas primeiras linhas (é a base df_exemplo
abaixo).
Coloquei um exemplo de código onde a função funciona.
Porém estou tentando usar com mutate()
, e aí resulta em erros…
Alguém pode me dar uma dica do que eu estou fazendo errado?
Abraços!
library(tidyverse)
library(httr)
df_exemplo <-
structure(
list(
link_ata_url = c(
"http://www.sigrh.sp.gov.br/public/uploads/records//CBH-MOGI/18977/extrato-da-ata-73-r-o.pdf",
"http://www.sigrh.sp.gov.br/public/uploads/records//CBH-MOGI/18976/ata-completa-73-r-o.pdf"
)
),
row.names = c(NA,-2L),
class = c("tbl_df", "tbl", "data.frame")
)
# A função funciona assim (sem mutate) ------
httr::status_code(httr::GET(df_exemplo$link_ata_url[[1]]))
# > [1] 200
# Não estou conseguindo usar com mutate ----
df_exemplo %>%
mutate(link_ata_status = httr::status_code(httr::GET(link_ata_url)))
# Erro: Problem with `mutate()` input `link_ata_status`.
# x length(url) == 1 is not TRUE
# i Input `link_ata_status` is `httr::status_code(httr::GET(link_ata_url))`.
# Run `rlang::last_error()` to see where the error occurred.