Zacznij terazZacznij za darmo

Bezpieczne iteracje

Podobnie jak w poprzednim rozdziale, wyobraź sobie, że jesteś analitykiem danych pracującym dla agencji internetowej. Tym razem poproszono cię o wykonanie web scrapingu.

(Uwaga: nie martw się, jeśli nie wiesz, jak to zrobić – zaczniemy od podstaw, a wszystkie funkcje zostaną wyjaśnione).

Otrzymujesz listę adresów URL, ale podejrzewasz, że niektóre z nich nie są prawdziwymi adresami. Pierwszym krokiem będzie sprawdzenie, czy możesz się z nimi połączyć. W tym celu użyjemy prostej funkcji z pakietu readr: read_lines(), którą opakujemy w safely(). Podając adres URL, read_lines() odczytuje HTML lub zwraca błąd, jeśli adres jest nieosiągalny.

Wektor urls jest dostępny w twoim środowisku pracy. Wyświetl go w konsoli, jeśli chcesz sprawdzić, co zawiera.

To ćwiczenie jest częścią kursu

Funkcyjne programowanie średnio zaawansowane z purrr

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz bezpieczną wersję funkcji read_lines().

  • Zastosuj tę nowo utworzoną funkcję na podanym wektorze urls za pomocą map().

  • Nadaj nazwy wynikom przy użyciu funkcji set_names().

  • Wyodrębnij element "error" z każdej podlisty.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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, ___)
Edytuj i uruchom kod