Güvenli yinelemeler
Önceki bölümde olduğu gibi, bir web ajansında çalışan bir veri analisti olduğunu varsayalım. Bu kez, senden web kazıma (web scraping) yapman istendi.
(Not: Web kazımayı bilmiyorsan endişelenme; basitten başlayacağız ve tüm fonksiyonları açıklayacağız.)
Bir URL listesi aldın ama bazılarının gerçek adresler olmadığından şüpheleniyorsun. Yapacağın ilk şey, bu URL'lere bağlanıp bağlanamadığını test etmek olacak. Bunun için readr paketinden basit bir fonksiyon kullanacağız: read_lines(), ve bunu safely() içine yerleştireceğiz. Bir URL verildiğinde read_lines() HTML'i okur ya da URL erişilebilir değilse bir hata döndürür.
urls vektörü çalışma alanında hazır. İçinde ne olduğunu görmek istersen konsola yazdırabilirsin.
Bu egzersiz, kursun bir parçasıdır
purrr ile Orta Düzey Fonksiyonel Programlama
Egzersiz talimatları
read_lines()fonksiyonunun güvenli bir sürümünü oluştur.Bu yeni oluşturduğun fonksiyonu,
urlsadlı verilen vektöre uygula (map et).Sonuçların adlarını
set_names()fonksiyonuyla ayarla.Her bir alt listenin
"error"elemanını çıkar.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# Create a safe version of read_lines()
safe_read <- ___(___)
# Map it on the urls vector
res <- ___(urls, ___)
# Set the name of the results to `urls`
named_res <- ___(res, ___)
# Extract only the "error" part of each sublist
___(named_res, ___)