read_lines() için bir possibly() sürümü
Hâlâ kazımak üzere sana verilen URL listesini kullanıyoruz. Erişilemeyen URL'leri belirlemek için birkaç yöntem deniyoruz. Neden mi? Çünkü web kazımanın ilk adımı bir URL'ye erişip erişemediğini analiz etmektir. Yazdığımız kod tam da bu iş için faydalı olacak.
Önceki egzersizde read_lines() fonksiyonunu safely() içine sarmalamıştık. Bu egzersizde possibly() fonksiyonunu kullanacağız.
Web terminolojisinde 404, bir web sayfasının mevcut olmadığını belirtir. Bu sayı otherwise bağımsız değişkeni olarak kullanılacak.
Ayrıca, read_lines() bir web sayfasını okuduğunda uzunluğu n olan bir vektör döndürdüğü için, bunları paste() fonksiyonuyla birleştirip tek bir karakter dizisine dönüştüreceğiz.
urls vektörü senin için sağlandı.
Bu egzersiz, kursun bir parçasıdır
purrr ile Orta Düzey Fonksiyonel Programlama
Egzersiz talimatları
read_lines()fonksiyonunu, aksi halde 404 döndürecek birpossibly()çağrısına sar.Bu yeni oluşturduğun fonksiyonu URL listesine uygula ve çıktıyı doğrudan
set_names()içine ilet.Listedeki her bir öğeyi,
collapsebağımsız değişkeni" "olacak şekildepaste()kullanarak uzunluğu bir olan bir karakter dizisine dönüştür.Yalnızca 404'e eşit olan öğeleri tut.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# 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, ___)