ÎncepețiÎncepe gratuit

O versiune possibly() a funcției read_lines()

Continuăm să lucrăm cu seria de URL-uri pe care ai primit-o pentru scraping. Încercăm mai multe metode pentru a identifica URL-urile care nu pot fi accesate. De ce facem asta? Pentru că primul pas în web scraping este să verifici dacă poți accesa un URL sau nu. Acesta este scopul codului pe care îl scriem.

În exercițiul anterior, am învelit funcția read_lines() într-un apel safely(). În acest exercițiu, vom folosi funcția possibly().

În terminologia web, codul 404 indică faptul că o pagină nu este disponibilă. Acest număr va fi folosit ca argument otherwise.

De asemenea, deoarece read_lines() returnează un vector de lungime n atunci când citește o pagină web, vom concatena elementele folosind funcția paste().

Vectorul urls a fost deja furnizat.

Acest exercițiu face parte din cursul

Programare funcțională intermediară cu purrr

Vezi cursul

Instrucțiuni pentru exercițiu

  • Învelește funcția read_lines() într-un apel possibly() care să returneze 404 în caz de eroare.

  • Aplică această funcție nou creată pe lista de URL-uri și direcționează rezultatul direct către set_names().

  • Transformă fiecare element al listei într-un șir de caractere de lungime unu, folosind funcția paste() cu argumentul collapse setat la " ".

  • Păstrează doar elementele care sunt egale cu 404.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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, ___)
Editează și rulează codul