MulaiMulai sekarang secara gratis

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

Lihat Kursus

Petunjuk latihan

  • Bungkus fungsi read_lines() dalam pemanggilan possibly() 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 argumen collapse ke " ".

  • 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, ___)
Edit dan Jalankan Kode