안전한 반복
이전 장과 마찬가지로, 여러분은 웹 에이전시에서 일하는 데이터 분석가라고 가정해 볼게요. 이번에는 웹 스크레이핑을 하라는 요청을 받았어요.
(참고: 웹 스크레이핑을 모른다고 걱정하지 마세요. 간단한 것부터 시작하고, 필요한 함수는 모두 설명해 드려요.)
URL 목록을 받았는데, 일부는 실제 주소가 아닐 것 같다고 의심돼요. 가장 먼저 할 일은 이 URL들에 연결할 수 있는지 테스트하는 거예요. 이를 위해 readr 패키지의 간단한 함수인 read_lines()를 사용하고, 이 함수를 safely()로 감싸 보겠습니다. URL을 입력하면 read_lines()는 HTML을 읽거나, URL에 접속할 수 없으면 오류를 반환해요.
urls 벡터가 작업 공간에 준비되어 있어요. 안에 무엇이 들어 있는지 확인하려면 콘솔에 출력해 보세요.
이 연습은 강의의 일부입니다
purrr로 배우는 중급 함수형 프로그래밍
연습 안내
read_lines()함수의 안전한 버전을 만드세요.이렇게 만든 함수를 제공된
urls라는 벡터에map으로 적용하세요.결과의 이름을
set_names()함수로 설정하세요.각 하위 리스트에서
"error"요소를 추출하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# 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, ___)