Trích xuất mã trạng thái với GET()
Ở bài tập cuối cùng này, chúng ta sẽ chuyển từ hàm read_lines() sang hàm GET() của httr.
Trước tiên, bạn sẽ tạo một phiên bản GET() bọc bởi possibly() để kiểm tra xem một số URL bạn có liệu có trả về lỗi hay không. Nếu truy cập được URL, bạn sẽ nhận về một đối tượng kết nối. Bên trong đó có phần tử "status_code".
Đừng quá tập trung vào kết quả; chỉ cần nhớ rằng nếu GET() trả về lỗi thì nghĩa là URL không khả dụng. Con số mã trạng thái mà chúng ta trả về có vẻ hơi "biệt ngữ web", nhưng chúng ta sẽ bàn kỹ hơn ở chương sau. Trước mắt, bạn chỉ cần nhớ 200 nghĩa là mọi thứ diễn ra như mong đợi.
Vector urls đã có sẵn trong workspace của bạn, và purrr cùng httr đã được nạp sẵn.
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 của
GET()sẽ trả vềNULLnếu có lỗi.Đặt tên cho các kết quả.
Loại bỏ các phần tử
NULL.Trích xuất
"status_code"của mỗi phần tử.
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.
url_tester <- function(url_list){
url_list %>%
# Map a version of GET() that would otherwise return NULL
map( ___(GET, ___) ) %>%
# Set the names of the result
___( url_list ) %>%
# Remove the NULL
___() %>%
# Extract all the "status_code" elements
map(___)
}
# Try this function on the urls object
___(urls)