Verze read_lines() s possibly()
Stále pracujeme se sadou URL adres, které máš k dispozici pro scrapování. Zkoušíme různé metody, jak identifikovat adresy, které nejdou načíst. Proč to děláme? Protože prvním krokem při web scrapingu je zjistit, zda je daná URL vůbec přístupná. Právě k tomu bude sloužit kód, který píšeme.
V předchozím cvičení jsme obalili funkci read_lines() do funkce safely(). V tomto cvičení použijeme funkci possibly().
Ve webové terminologii označuje číslo 404 stránku, která není dostupná. Tuto hodnotu použijeme jako argument otherwise.
Protože read_lines() vrací vektor délky n při čtení webové stránky, tyto hodnoty sloučíme pomocí funkce paste().
Vektor urls je pro tebe připraven.
Toto cvičení je součástí kurzu
Intermediate Functional Programming with purrr
Pokyny k cvičení
Obal funkci
read_lines()volánímpossibly(), které jinak vrátí hodnotu 404.Tuto nově vytvořenou funkci namapuj na seznam URL adres a hned ji propoj přes rouru do
set_names().Každý prvek seznamu převeď na řetězec délky 1 pomocí funkce
paste()s argumentemcollapsenastaveným na" ".Ponech pouze prvky, které se rovnají hodnotě 404.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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, ___)