MulaiMulai sekarang secara gratis

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

Lihat Kursus

Petunjuk latihan

  • Buat versi GET() yang akan mengembalikan NULL jika 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)
Edit dan Jalankan Kode