Xây dựng một hàm
Bạn vẫn đang hoàn thiện các công cụ web scraping để làm việc hiệu quả nhất có thể trong vai trò nhà phân tích dữ liệu cho một web agency.
Trong bài này, bạn sẽ làm cho hàm trích xuất từ bài trước chặt chẽ hơn một chút: nếu mã do bộ trích xuất trạng thái trả về không nằm trong khoảng từ 200 đến 203, hàm sẽ trả về giá trị khuyết (NA). Ngược lại, mã trạng thái sẽ được trả về.
purrr và httr đã được nạp sẵn cho bạ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
Phủ định toán tử
%in%, dùng để kiểm tra phần tử bên trái có nằm trong tập hợp bên phải hay không.Biên soạn một hàm
extract_status(), là sự kết hợp củaGET()vàstatus_code().Hoàn thiện hàm đã cho: mã trạng thái của
urlcần được trích xuất và gán vào biếncode. Sau đó, nếucodekhông thuộc200:203, hãy trả về giá trị khuyết. Ngược lại, trả về chính mã trạng thái.
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.
# Negate the %in% function
`%not_in%` <- ___(`%in%`)
# Compose a status extractor
extract_status <- ___(___, ___)
# Complete the function definition
strict_code <- function(url) {
# Extract the status of the URL
code <- ___(___)
# If code is not in the acceptable range ...
if (code ___ 200:203) {
# then return NA
return(___)
}
code
}