학습주제
웹 브라우저 자동화
학습내용
응답 내용이 다 딸려온다면 정적임.
같은 주소로 요청을 보내면 항상 같은 응답을 기대할 수 있음.
인스타그램이 예시. 피드를 새로고침할 때마다 피드를 갱신시켜줌.
대표적으로 유튜브가 있다. 응답이 된 후에, html이 렌더링 될 때까지 지연시간이 존재함.
필요한 데이터를 응답 이후에 처리하는 경향이 있음. -> 비동기 처리
한 작업이 끝날 때 그 작업에 대한 결과를 보장해 주느냐.
렌더링을 다 해야만 데이터 처리를 진행함.
응답이 오는 것을 당장 보장하지 않음.
스크래핑 관점에서,
온전한 데이터가 들어가 있음.
우선 응답을 하고, 그 후에 데이터 처리가 이뤄질 수 있음.
유튜브로 치면 페이지가 뜬 다음, 다시 로딩이 걸리면서 정보가 채워질 수 있음.
초록색 점선에서 리퀘스트 응답을 받아서 파싱할 경우 데이터가 없는 경우가 있음.
키보드, 마우스 같은 입력에 대한 결과를 단순한 requests로 받기 어려움.
페이지가 다 오긴 했지만, 데이터가 로딩되지 않았다면 임의로 시간을 지연시켜 온전한 정보를 획득.
그렇다면,
웹에선 이를 이벤트라고 함. 이를 프로그래밍을 통한 작업이 가능한가? 응답이 온 후, 이러한 요소들에 접근해서 이벤트를 일으켜야함.
웹 브라우저를 쓰고, 이를 파이썬으로 조작하면 어떨까? 에 대한 아이디어.
셀레니움을 활용해서 파이썬을 통해 웹 브라우저에 명령을 내림.