시작하기무료로 시작하기

GET()으로 상태 코드 추출하기

이번 마지막 연습에서는 read_lines() 대신 httrGET() 함수를 사용해 보겠습니다.

먼저 GET()possibly() 버전을 만들어서, 가지고 있는 URL 중 일부가 오류를 반환하는지 확인해 볼 거예요. URL에 정상적으로 접근하면 연결 객체가 반환되고, 그 안에서 "status_code" 요소를 찾을 수 있습니다.

결과 자체에 너무 집중하지 마세요. GET()이 오류를 반환한다면 해당 URL을 사용할 수 없다는 뜻입니다. 우리가 반환하는 상태 코드 숫자는 웹 관련 용어처럼 보일 수 있지만, 이에 대해서는 다음 장에서 더 자세히 다룹니다. 지금은 200이 정상 처리되었다는 의미라는 점만 기억해 주세요.

작업 공간에는 urls 벡터가 준비되어 있고, purrrhttr 패키지는 이미 로드되어 있습니다.

이 연습은 강의의 일부입니다

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)
코드 편집 및 실행