GET()으로 상태 코드 추출하기
이번 마지막 연습에서는 read_lines() 대신 httr의 GET() 함수를 사용해 보겠습니다.
먼저 GET()의 possibly() 버전을 만들어서, 가지고 있는 URL 중 일부가 오류를 반환하는지 확인해 볼 거예요. URL에 정상적으로 접근하면 연결 객체가 반환되고, 그 안에서 "status_code" 요소를 찾을 수 있습니다.
결과 자체에 너무 집중하지 마세요. GET()이 오류를 반환한다면 해당 URL을 사용할 수 없다는 뜻입니다. 우리가 반환하는 상태 코드 숫자는 웹 관련 용어처럼 보일 수 있지만, 이에 대해서는 다음 장에서 더 자세히 다룹니다. 지금은 200이 정상 처리되었다는 의미라는 점만 기억해 주세요.
작업 공간에는 urls 벡터가 준비되어 있고, purrr와 httr 패키지는 이미 로드되어 있습니다.
이 연습은 강의의 일부입니다
purrr로 배우는 중급 함수형 프로그래밍
연습 안내
오류가 발생하면
NULL을 반환하는GET()의 변형을 만드세요.결과에 이름을 지정하세요.
NULL값을 제거하세요.각 요소에서
"status_code"를 추출하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
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)