Lặp an toàn
Giống như ở chương trước, giả sử bạn là một nhà phân tích dữ liệu làm việc cho một web agency. Lần này, bạn được giao nhiệm vụ web scraping.
(Lưu ý: đừng lo nếu bạn chưa biết web scraping, chúng ta sẽ bắt đầu đơn giản và mọi hàm đều sẽ được giải thích.)
Bạn nhận được một danh sách URL, nhưng bạn nghi ngờ rằng một số không phải địa chỉ hợp lệ. Việc đầu tiên bạn sẽ làm là kiểm tra xem có thể kết nối tới các URL này không. Để làm điều đó, ta sẽ dùng một hàm đơn giản từ gói readr: read_lines(), và bọc nó trong safely(). Khi nhận một URL, read_lines() sẽ đọc HTML hoặc trả về lỗi nếu không thể truy cập URL.
Vector urls đã có sẵn trong môi trường làm việc của bạn. In nó ra console nếu bạn muốn xem bên trong có gì.
Bài tập này là một phần của khóa học
Lập trình hàm nâng cao với purrr
Hướng dẫn bài tập
Tạo một phiên bản an toàn của hàm
read_lines().Ánh xạ (map) hàm vừa tạo lên vector
urlsđã cung cấp.Đặt tên cho kết quả bằng hàm
set_names().Trích xuất phần tử
"error"của mỗi danh sách con.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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, ___)