Mengambil kode status dengan GET()
Untuk latihan terakhir ini, kita akan beralih dari fungsi read_lines() ke fungsi GET() dari httr.
Kita akan terlebih dahulu membuat versi possibly() dari GET() untuk menguji apakah beberapa URL yang Anda miliki mengembalikan error. Jika Anda dapat mengakses URL, sebuah objek koneksi akan dikembalikan. Di dalamnya, Anda akan menemukan elemen "status_code".
Jangan fokus pada hasilnya; cukup ingat bahwa jika fungsi GET() menghasilkan error, itu berarti URL tidak tersedia. Nomor kode status yang kita kembalikan mungkin terdengar seperti jargon web, tetapi kita akan membahasnya lebih dalam di bab berikutnya. Untuk sekarang, ingat saja bahwa 200 berarti semuanya berjalan sesuai harapan.
Vektor urls tersedia di ruang kerja Anda, purrr dan httr telah dimuat untuk Anda.
Latihan ini adalah bagian dari kursus
Pemrograman Fungsional Tingkat Menengah dengan purrr
Petunjuk latihan
Buat versi
GET()yang akan mengembalikanNULLjika terjadi error.Atur nama hasilnya.
Hapus
NULL.Ekstrak
"status_code"dari setiap elemen.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
url_tester <- function(url_list){
url_list %>%
# Map a version of GET() that would otherwise return NULL
map( ___(GET, ___) ) %>%
# Set the names of the result
___( url_list ) %>%
# Remove the NULL
___() %>%
# Extract all the "status_code" elements
map(___)
}
# Try this function on the urls object
___(urls)