Versi possibly() dari read_lines()
Kita masih bekerja dengan deretan URL yang Anda dapatkan untuk di-scrape. Kita mencoba beberapa metode untuk mengidentifikasi URL yang tidak dapat diakses. Mengapa kita melakukan itu? Karena langkah pertama web scraping adalah menganalisis apakah Anda bisa mengakses URL tersebut atau tidak. Inilah kegunaan kode yang kita tulis.
Pada latihan sebelumnya, kita membungkus fungsi read_lines() di dalam fungsi safely(). Pada latihan ini, kita akan menggunakan fungsi possibly().
Dalam terminologi web, 404 menunjukkan bahwa sebuah halaman web tidak tersedia. Angka ini akan digunakan sebagai argumen otherwise.
Selain itu, karena read_lines() mengembalikan sebuah vektor berdimensi n ketika membaca sebuah laman web, kita akan menggabungkannya menggunakan fungsi paste().
Vektor urls telah disediakan untuk Anda.
Latihan ini adalah bagian dari kursus
Pemrograman Fungsional Tingkat Menengah dengan purrr
Petunjuk latihan
Bungkus fungsi
read_lines()dalam pemanggilanpossibly()yang akan mengembalikan 404 jika terjadi selainnya.Petakan fungsi yang baru dibuat ini ke daftar URL, lalu teruskan langsung ke
set_names()Ubah setiap elemen daftar ini menjadi karakter berdimensi satu dengan menggunakan fungsi
paste(), dan setel argumencollapseke" ".Sisakan hanya elemen yang bernilai sama dengan 404.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Create a possibly() version of read_lines()
possible_read <- ___(___, otherwise = ___)
# Map this function on urls, pipe it into set_names()
res <- map(urls, ___) %>% ___(urls)
# Paste each element of the list
res_pasted <- ___(res, ___, collapse = ___)
# Keep only the elements which are equal to 404
___(res_pasted, ___)