다음 <보기>의 문제를 해결하기 위한 방안으로 가장 적절한 것은?
보기
분석가는 스크래피(Scrapy)로 어느 부동산 포털의 매물 시세를 수집하려 하였다. 그러나 수집된 HTML에는 시세 값이 들어 있어야 할 자리가 아래와 같이 빈 컨테이너로만 존재하였다.
<div id="price-list"></div>
브라우저의 개발자 도구로 확인한 결과, 해당 페이지는 최초 응답에 값을 담아 보내지 않고 자바스크립트가 실행된 뒤 별도의 요청으로 JSON을 받아와 화면을 채우는 구조였다. 응답 지연이나 접근 차단은 발생하지 않았다.
- 1요청 간 지연 시간을 늘리고 동시 요청 수를 줄여 서버가 값을 채워 응답할 시간을 확보한다.
- 2정규표현식 대신 XPath 선택자를 사용하여 빈 컨테이너 내부의 숨겨진 텍스트 노드를 탐색한다.
- 3헤드리스 브라우저로 자바스크립트를 실행한 뒤 추출하거나, JSON 응답 엔드포인트를 직접 호출한다.
- 4User-Agent 헤더를 실제 브라우저 값으로 위장하고 robots.txt의 수집 제한을 해제하도록 요청한다.
꿈라CBT