HTML 호출 뒤 Javascript로 값을 변경하는 형식의 웹 파싱은 어떻게 하나요?

조회수 1139회

HTML 호출 뒤 Javascript로 값을 변경하는 형식의 웹 파싱은 어떻게 하나요?

개발자 도구에서 보면 값이 나오지만 웹 자체를 파싱하면 데이터 값이 파싱되지 않습니다.

저는 페이지 로드 후 Javascript 함수가 다 실행 된 후의 내용을 파싱하고 싶습니다.

단순 XML 파싱으로는 안된다고 하는데 그럼 어떻게 파싱해야하나요?

  1. javascript 함수가 호출 된 후의 웹을 파싱할 수 있다? 없다?

  2. 있다면 어떤 식으로 키워드를 잡고 구글링을 해야하는지?

검색 키워드라도 알고 싶습니다. ㅠㅠ

1 답변

  • 좋아요

    2

    싫어요
    채택 취소하기

    스파이더몽키류의 자바스크립트 구현체로 자바스크립트를 수행하여 결과를 얻는 경우도 있고 selenium 같은 테스트 자동화 프로그램을 이용하기도 합니다.

    전자는 많이 번거롭지만 후자의 selenium을 이용한 방법은 설치되어 있는 브라우져를 이용하여 브라우징된 html을 그대로 이용할 수 있다는 장점이 있습니다.

    물론 selenium도 단점이 있는데 브라우져 자체를 이용하므로 브라우져가 수행하는 만큼 무겁고 느립니다.

    질문자께 추천 드리는 방법은 headless 브라우져(결과가 화면에 표시 안되는 가벼운 웹엔진)인 phantomjs 을 selenium 으로 컨르롤하여 결과를 얻는 방법입니다.

    • 감사합니다 답변을 읽고 selenium과 phantomjs를 사용하려했으나 selenium이 phantomjs 지원을 중단하여 headless chrome을 사용했습니다 감사합니다. 많은 도움이 되었어요.ㅎㅎ tongil 2018.2.26 09:04

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)