Začněte nyníZačněte zdarma

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

Zobrazit kurz

Pokyny k cvičení

  • Obal funkci read_lines() voláním possibly(), 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 argumentem collapse nastavený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, ___)
Upravit a spustit kód